Ich habe fast meinen Code funktioniert, aber es gibt immer noch zwei Dinge falsch (zwei wichtige Dinge sowieso).Wie mache ich absolute Zellenreferenzen in Schleifen und überspringe eine Spalte in einer Schleife?
1) Die absolute Zelle ref. funktioniert nicht wie es in Excel funktioniert. Ich möchte zum Beispiel $ A5, aber anstatt auf A6 A7 etc. zu wechseln, bleibt es während der gesamten Schleife A5.
2) Es gibt eine dritte Spalte, die ich überspringen muss. Ich brauche nur meine Schleife, um in Spalten unter VOL und CAP, nicht% UTIL zu schreiben. Wie kann ich meiner Schleife mitteilen, dass sie $ UTIL überspringen soll?
alt text http://i27.tinypic.com/2dig8hu.jpg
Option Explicit
Dim myRange As Range
Function numberOfRows() As Integer
Debug.Print ("Start test")
ThisWorkbook.Worksheets("LCI").Range("A9").Select
Set myRange = Range(Selection, Selection.End(xlDown))
Debug.Print ("Rows: " & myRange.Rows.Count)
numberOfRows = (myRange.Rows.Count)
End Function
Function numberOfColumns() As Integer
Debug.Print ("Start test")
ThisWorkbook.Worksheets("LCI").Range("B8").Select
Set myRange = Range(Selection, Selection.End(xlToRight))
Debug.Print ("Columns: " & myRange.Columns.Count)
numberOfColumns = (myRange.Columns.Count)
End Function
Sub TieOut(ByVal numberOfRows As Integer, ByVal numberOfColumns As Integer)
Dim i As Integer 'i is row
Dim j As Integer 'j is column
For i = 1 To numberOfRows 'Loop over rows
For j = 1 + 2 To numberOfColumns 'Loop over columns
ThisWorkbook.Worksheets("Loop").Select
With ThisWorkbook.Worksheets("Loop")
**.Cells(i + 3, j + 1).Value = "=INDEX('ZAINET DATA'!$A$1:$H$39038,MATCH(Loop!B$2&TEXT(Loop!$A4,""M/D/YYYY""),'ZAINET DATA'!$C$1:$C$39038,0),4)"
.Cells(i + 3, j + 2).Value = "=INDEX('ZAINET DATA'!$A$1:$H$39038,MATCH(Loop!B$2&TEXT(Loop!$A4,""M/D/YYYY""),'ZAINET DATA'!$C$1:$C$39038,0),5)"**
End With
Next j
Next i
End Sub
Sub Test()
Dim x As Integer
Dim y As Integer
x = numberOfRows()
y = numberOfColumns()
Call TieOut(x, y)
End Sub
Meine NummerOfRows = die von Macro1 zurückgegebene Zahl numberOfColumns = die von Macro2 zurückgegebene Zahl – Techgirl09
Was meinen Sie mit Define? – Techgirl09
Was meinst du mit nicht zurück? – shahkalpesh