ich habe folgendes Makro einer verschachtelten Schleife:
Sub Werte_einlesen()
' Werte aus geschlossenen Dateien einlesen
Dim strVerzeichnis1 As String
Dim strVerzeichnis2 As String
Dim strTabellenblatt1 As String
Dim strTabellenblatt2 As String
Dim strTabellenblatt3 As String
Dim strBereich As String
Dim lAnzahl As String
Dim Start As Date
Dim Zeit As Date
Dim i1 As Long
Dim i2 As Long
Range("Zellbereich").ClearContents
Range("Zelle4").ClearContents
' Wenn das Jahr Dateiname und das Jahr "Zahlung des ET....." gleich,
' dann Werte einlesen, sonst Abbruch......
If Range("Zelle1") Range("Zelle3") Then
MsgBox "Jahreszahl Ordner ist nicht " & vbCrLf & vbCrLf & _
"mit Jahreszahl Datei identisch !", vbInformation, _
" Wichtiger Hinweis !"
Exit Sub
End If
If MsgBox("Sollen Werte aus Dateien eingelesen werden ?", vbYesNo + vbQuestion) = _
vbYes Then
lAnzahl = InputBox("Bitte eine Zahl eingeben !", , 1)
'Bildschirmaktualisierung aus
Application.ScreenUpdating = False
'Prüfen ob eine Zahl eingegeben worden ist
If IsNumeric(lAnzahl) Then
For i1 = 1 To CLng(lAnzahl)
Cells(5, 15).Value = i1
For i2 = 1 To 7
strVerzeichnis1 = Range("Pfad2")
strVerzeichnis2 = "Whn " & i1
strTabellenblatt1 = ".xlsm]Zahlung "
strTabellenblatt2 = "Whn " & i1
strTabellenblatt3 = "'!"
strBereich = "A" & i2
'Wert schreiben
With ActiveWorkbook.Worksheets("Zusammenfassung").Cells(Range("A" & 13 + i1).Row, Range(" _
Spalte" & i2).Column)
'Adresse der auszulesenden Zelle
.Formula = strVerzeichnis1 & strVerzeichnis2 & strTabellenblatt1 & strTabellenblatt2 & _
strTabellenblatt3 & strBereich
'In festen Wert umwandeln, um die Verknüpfung aufzuheben
.Value = .Value
End With
Next i2
Application.Wait Now + TimeSerial(0, 0, 2)
Next i1
MsgBox "Datenübertragung erfolgreich beendet!" & vbCr & vbCr & _
" Bitte betätigen Sie den Schalter OK", vbExclamation, " Herzlichen Glückwunsch!" _
End If
End If
'Bildschirmaktualisierung ein
Application.ScreenUpdating = True
End Sub
Mit der inneren Schleife dieses Makros ( i2 ), werden aus einem Tabellenblatt sieben einzelne Zellwerte ausgelesen und in ein aktives Tabellenblatt eingelesen.Danach wird mit der äußeren Schleife ( i1 ) zum nächsten Tabellenblatt gegangen und aus den identischen Zellen weitere sieben Werte ausgelesen und
in das gleiche aktive Tabellenblatt eingelesen.
Der Wert für den Durchlauf der äußeren Schleife wird in einer Eingabebox vorgegeben und kann zwischen 1 bis 48 betragen.
Mit Cells(5, 15).Value = i1 wird die Anzahl der Gesamtdurchläufe der äußeren Schleife in Zelle O5 angezeigt.
Ich möchte aber, dass jeder einzelne Durchlauf der äußeren Schleife in Zelle O5 gezählt wird ( z.B. erster Durchlauf gleich 1, zweiter Durchlauf gleich 2 usw. ).
Nach vielen vergeblichen Versuchen frage ich Euch, die Excel-Fachleute, wie die einzelnen Durchläufe der äußeren Schleife gezählt werden können.
Im Voraus schon mal besten Dank!
Werner