geht nicht (ohne VBA) AW: SVERWEIS: Pfad dynamisch
18.12.2013 08:06:11
Klaus
Sub Aktualisieren()
Dim j%, i%, m%, k%, strDateiname$
j = Year(CDate(Range("A1")))
i = i + 1
m = i
k = Range("Y1")
'Dateien öffnen
For i = 1 To 12
strDateiname = "C:\Pfad1\Pfad2\Pfad3 " & j & "\" & m & "\Details\" & k & "_Detail_" & m & ". _
_
xls"
Workbooks.Open Filename:=strDateiname
ActiveSheet.Calculate
Next i
End Sub
Hi Marek,
du erhöhst erst i um 1, obwohl i noch gar keinen Wert hat. Das wird abgefangen und i gleich 0 gesetzt, nach deiner Erhöhung ist i also 1. Demnach ist m auch 1, da m = i.
Du hättest i hier aber auch auf eine Milliarde setzen können, denn:
For i = 1 To 12
setzt i nacheinander auf 1,2,3,...12 und zwar egal welcher Wert vorher in i stand!
Ich vermute jetzt, dass dadurch weder deine i- noch deine m- Bezüge stimmen.
Tip zum umbauen: arbeite im Einzelschrittmodus und mit ganz viel debug.print!
Sub Aktualisieren()
Dim j%, i%, m%, k%, strDateiname$
j = Year(CDate(Range("A1")))
i = i + 1
m = i
k = Range("Y1")
'Dateien öffnen
For i = 1 To 12
debug.print "i=" & i & " / m=" & m & " / j =" & j & " / k =" & k
strDateiname = "C:\Pfad1\Pfad2\Pfad3 " & j & "\" & m & "\Details\" & k & "_Detail_" & m & ". _
_
xls"
Workbooks.Open Filename:=strDateiname
ActiveSheet.Calculate
Next i
End Sub
Dann und jede Zeile vergleichen, ob die variablen Stimmen. Wenn nicht, umbauen!
Grüße,
Klaus M.vdT.