01.12.2022, 14:12
Hallo zusammen,
ich habe gleich 2 Themen in einer Makro, die mich schon längere Zeit beschäftigen und nicht gelöst kriege. Ich hoffe daher, hier ggf. etwas Hilfe zu bekommen. Ich habe eine größere Makro, die 2 Dateien von mir aufbereitet und in eine andere Datei kopieren. Dabei geschehen folgende Themen:
1. Ich benutze in der Makro folgende Funktion, um die letzte beschriebene Zeile zu definieren:
Dim letztezeile As Long
letztezeile = Cells.SpecialCells (xlcellTypeLastCell).Row
Die Funktion setze ich direkt am Anfang, im Laufe der VBA lösche ich jedoch Zeilen und will dann die "neue letzte Zeile" definieren und nutze o.g. Funktion erneut, dann jedoch mit einem anderen Namen (z.B. letztezeile2), das funktioniert jedoch nicht. Es kommt zwar keine Fehlermeldung, es wird aber dennoch die Zeilenanzahl aus der ersten Funktion übernommen. Habt ihr da eine Idee?
2. Am Anfang will ich mehrere Spalten gleichzeitig löschen. Dafür steht in der Makro folgendes:
Range("B:B, D:D, H:H, M:M").Delete
Die VBA stoppt mit folgender Fehlermeldung: Laufzeitfehler '1004': Die Methode 'Range' für das Objekt '_Global' ist fehgeschlagen.
Wenn ich dann auf Debuggen, und direkt F5 oder F8 drücke, funktioniert alles einwandfrei. Woran kann das liegen?
Sind das typische Fehler, die jemand so direkt klären kann oder braucht ihr Testdaten? Müsste die sehr anpassen, aber würde ich machen, wenn jemand diese benötigt.
Danke euch für die Hilfe,
Sunny
ich habe gleich 2 Themen in einer Makro, die mich schon längere Zeit beschäftigen und nicht gelöst kriege. Ich hoffe daher, hier ggf. etwas Hilfe zu bekommen. Ich habe eine größere Makro, die 2 Dateien von mir aufbereitet und in eine andere Datei kopieren. Dabei geschehen folgende Themen:
1. Ich benutze in der Makro folgende Funktion, um die letzte beschriebene Zeile zu definieren:
Dim letztezeile As Long
letztezeile = Cells.SpecialCells (xlcellTypeLastCell).Row
Die Funktion setze ich direkt am Anfang, im Laufe der VBA lösche ich jedoch Zeilen und will dann die "neue letzte Zeile" definieren und nutze o.g. Funktion erneut, dann jedoch mit einem anderen Namen (z.B. letztezeile2), das funktioniert jedoch nicht. Es kommt zwar keine Fehlermeldung, es wird aber dennoch die Zeilenanzahl aus der ersten Funktion übernommen. Habt ihr da eine Idee?
2. Am Anfang will ich mehrere Spalten gleichzeitig löschen. Dafür steht in der Makro folgendes:
Range("B:B, D:D, H:H, M:M").Delete
Die VBA stoppt mit folgender Fehlermeldung: Laufzeitfehler '1004': Die Methode 'Range' für das Objekt '_Global' ist fehgeschlagen.
Wenn ich dann auf Debuggen, und direkt F5 oder F8 drücke, funktioniert alles einwandfrei. Woran kann das liegen?
Sind das typische Fehler, die jemand so direkt klären kann oder braucht ihr Testdaten? Müsste die sehr anpassen, aber würde ich machen, wenn jemand diese benötigt.
Danke euch für die Hilfe,
Sunny