jak przechodzić przez kolumny wierszy w Excelu VBA Macro
Cześć, próbuję utworzyć makro, które ma pętlę, która kopiuje funkcję w dół kolumny 1 (VOL) i inną funkcję w dół kolumny 2 (POJEMNOŚĆ) dla każdej stacji. Oto, co mam do tej pory:
Sub TieOut()
Dim i As Integer
Dim j As Integer
For i = 1 To 3
For j = 1 To 3
Worksheets("TieOut").Cells(i, j).Value = "'=INDEX('ZaiNet Data'!$A$1:$H$39038,MATCH('INDEX-MATCH'!Z$7&TEXT('INDEX-MATCH'!$A9,"m/dd/yyyy"),'ZaiNet Data'!$C$1:$C$39038,0), 4)"
Next j
Next i
End Sub
Obraz tego, co CHCĘ jest poniżej: Widać, że ręcznie skopiowałem i wkleiłem moje dwie funkcje do każdej kolumny. Potrzebuję tylko makra, które może go przepuścić.
alt tekst http://i26.tinypic.com/nz4lfn.jpg
Funkcja, którą chcę zapętlić w kolumnie VOL dla każdej stacji to:
=INDEX('ZaiNet Data'!$A$1:$H$39038,MATCH('INDEX-MATCH'!Z$7&TEXT('INDEX-MATCH'!$A438,"M/DD/YYYY"),'ZaiNet Data'!$C$1:$C$39038,0), 4)
Funkcja, którą chcę zapętlić w kolumnie POJEMNOŚĆ dla każdej stacji to:
=INDEX('ZaiNet Data'!$A$1:$H$39038,MATCH('INDEX-MATCH'!Z$7&TEXT('INDEX-MATCH'!$A438,"M/DD/YYYY"),'ZaiNet Data'!$C$1:$C$39038,0), 5)
Czy ktoś mógłby mi pomóc? Dziękuję Ci!
AKTUALIZACJA
**** Jak sprawić, aby pętla działała automatycznie bez konieczności ręcznego wprowadzania formuły w pierwszych dwóch komórkach i klikania makra?
Jak mogę sprawić, aby pętla przebiegała przez wszystkie kolumny / wiersze? (poziomo) ****
Włączyłem dwa zrzuty ekranu, aby pokazać, co mam na myśli. Poniżej znajduje się mój obecny kod.alt tekst http://i26.tinypic.com/i3gw9g.jpg alt tekst http://i29.tinypic.com/8izl.jpg Dzięki!
Sub Loop3()
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 1).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(0, -1).Select
Dim i As Integer
Dim j As Integer
With Worksheets("Loop")
i = 1
Do Until .Cells(10, i).Value = "blank"
For j = 1 To 10
.Cells(j, i).Formula = "=INDEX('ZAINET DATA'!$A$1:$H$39038,MATCH(Loop!E$7&TEXT(Loop!$A9,""M/D/YYYY""),'ZAINET DATA'!$C$1:$C$39038,0),4)"
.Cells(j, i + 1).Formula = "=INDEX('ZAINET DATA'!$A$1:$H$39038,MATCH(Loop!E$7&TEXT(Loop!$A9,""M/D/YYYY""),'ZAINET DATA'!$C$1:$C$39038,0),5)"
Next j
i = i + 2
Loop
End With
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(-1, 1).Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveCell.Offset(0, -1).Select
End Sub