27.10.2022, 13:02
Hallo zusammen,
ich stoße gerade an meine Grenzen in VBA.
Ich lese aus einzelnen Dateien innerhalb einer Zählschleife drei einzelne Werte aus und schreibe diese in ein anderes Tabellenblatt.
Hierzu benutze ich folgenden Code, der fehlerfrei klappt:
For a = 2 To Range("i1")
With oBlatt
.Range("f" & a).FormulaLocal = "='X:\Ankdg\Plan\[" & Range("B" & a) & ".xlsm]plng'!$I$2"
.Range("g" & a).FormulaLocal = "='X:\Ankdg\Plan\[" & Range("B" & a) & ".xlsm]plng'!$J$2"
.Range("h" & a).FormulaLocal = "='X:\Ankdg\Plan\[" & Range("B" & a) & ".xlsm]plng'!$K$2"
End With
Next a
In I1 steht die Zahl, wie oft die Schleife durchlaufen werden soll.
Es kommt jedoch vor, dass die Quelldatei (eine 6stellige Auftragsnummer), die in Spalte B steht, manchmal nicht gefunden werden kann.
Wie kann ich diesen Fehler überspringen, damit das Makro von alleine weiterläuft?
Gedanklich bin ich an einer Abfrage sinngemäß:
If Dir("X:\Ankdg\Plan\" & Range("B" & a) & ".xlsm") <> "" Then a = a + 1 Else a = a + 2
weiß aber nicht wo ich die korrekt einbauen soll, bzw. ob die überhaupt so richtig und sinnvoll ist.
Weiß jemand einen Rat?
Vielen Dank vorab!
... btw: die Originaldatei hochzuladen macht wenig Sinn, weil diese mit vielen externen Quellen verknüpft ist.
ich stoße gerade an meine Grenzen in VBA.
Ich lese aus einzelnen Dateien innerhalb einer Zählschleife drei einzelne Werte aus und schreibe diese in ein anderes Tabellenblatt.
Hierzu benutze ich folgenden Code, der fehlerfrei klappt:
For a = 2 To Range("i1")
With oBlatt
.Range("f" & a).FormulaLocal = "='X:\Ankdg\Plan\[" & Range("B" & a) & ".xlsm]plng'!$I$2"
.Range("g" & a).FormulaLocal = "='X:\Ankdg\Plan\[" & Range("B" & a) & ".xlsm]plng'!$J$2"
.Range("h" & a).FormulaLocal = "='X:\Ankdg\Plan\[" & Range("B" & a) & ".xlsm]plng'!$K$2"
End With
Next a
In I1 steht die Zahl, wie oft die Schleife durchlaufen werden soll.
Es kommt jedoch vor, dass die Quelldatei (eine 6stellige Auftragsnummer), die in Spalte B steht, manchmal nicht gefunden werden kann.
Wie kann ich diesen Fehler überspringen, damit das Makro von alleine weiterläuft?
Gedanklich bin ich an einer Abfrage sinngemäß:
If Dir("X:\Ankdg\Plan\" & Range("B" & a) & ".xlsm") <> "" Then a = a + 1 Else a = a + 2
weiß aber nicht wo ich die korrekt einbauen soll, bzw. ob die überhaupt so richtig und sinnvoll ist.
Weiß jemand einen Rat?
Vielen Dank vorab!
... btw: die Originaldatei hochzuladen macht wenig Sinn, weil diese mit vielen externen Quellen verknüpft ist.
Viele Grüße
Rumo0815
------------------------
Bei Licht betrachtet ist der Leithammel auch nur ein Schaf.
Rumo0815
------------------------
Bei Licht betrachtet ist der Leithammel auch nur ein Schaf.