Вы находитесь на странице: 1из 3

Sub Macro9()

Dim Brojac, SheetsCounter As Integer


Dim SheetName As String
Brojac = 0
'SheetsCounter = NumberOfColumns / 3
SheetsCounter = 9
'formatiranje mjeseci
Sheets(1).Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!RC[2]"
Selection.AutoFill Destination:=Range("C2:S2"), Type:=xlFillDefault
Range("C2:S2").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Do
SheetName = SheetNameOfIndex(3 + Brojac)
Sheets(1).Select
Range("C3").Select
ActiveCell.Offset(Brojac * 20, 0).Select
'ActiveCell.FormulaR1C1 = "=Sheets(ActiveSheet.Index + 3).Name!R[25]C[2]"
'ActiveCell.FormulaR1C1 = "=Sheets(3).Name!R[25]C[2]"
'MsgBox Sheets(ActiveSheet.Index + 2).Name
'Range("C3").Select
'ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R28C[2]"
'Range(ActiveCell, ActiveCell.Offset(0, 12)).Select
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 16)),
Type:=xlFillDefault
Range("C4").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R17C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C5").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R23C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C6").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R25C[2]+" & SheetName & "!R26C[
2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C7").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R27C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C9").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R30C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C10").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R39C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C11").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R47C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C12").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R46C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C14").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=R[-5]C-R[-11]C"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C15").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R42C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C16").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R43C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C17").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=IF(ISERROR(R[-14]C/R[-6]C),"""",(R[-14]C/R[-6]C))
"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
Range("C18").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=IF(ISERROR(R[-15]C*1000/R[-8]C),"""",R[-15]C*1000
/R[-8]C)"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 12)),
Type:=xlFillDefault
If (Brojac > 0) Then
Range("B2:S18").Select
Selection.Copy
Range("B22").Offset(((Brojac - 1) * 20), 0).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("B3:B18").Select
Selection.Copy
Range("B23").Offset(((Brojac - 1) * 20), 0).Select
ActiveSheet.Paste
Range("C2:S2").Select
Application.CutCopyMode = False
Selection.Copy
Range("C22").Offset(((Brojac - 1) * 20), 0).Select
ActiveSheet.Paste
Range("B22").Offset(((Brojac - 1) * 20), 0).Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R1C[2]"
Range("B23").Select
End If
' Dodavanje forecasta
Range("P3").Select
ActiveCell.Offset(Brojac * 20, 0).Select
ActiveCell.FormulaR1C1 = "=" & SheetName & "!R24C[2]"
Selection.AutoFill Destination:=Range(ActiveCell, ActiveCell.Offset(0, 3)),
Type:=xlFillDefault
Brojac = Brojac + 1

Loop While (Brojac < SheetsCounter)

End Sub
Function SheetNameOfIndex(Ndx As Integer, Optional WB As Workbook = Nothing) As
String
Dim Q As String
Dim S As String
Application.Volatile True
Q = "'"
S = IIf(WB Is Nothing, ActiveWorkbook, WB).Worksheets(Ndx).Name
SheetNameOfIndex = Q & S & Q
End Function

Вам также может понравиться