Registriert seit: 01.02.2017
Version(en): 13
Hallo,
ich habe eine Excel Datei mit einem Makro, dass mir aus dem aktuellen Arbeitsblatt "Fertigmeldungen" nach einem vorher eingegebenem Datum filtert, das alles kopiert und dann auf ein neues Blatt (z.Bsp.) "Fertigmeldung 27.08.21" kopiert.
Ein Teil des Codes sieht so aus:
HeutigesDatum = Date
FertigmBlattName = "Fertigmeldung" & "_" & HeutigesDatum
With ThisWorkbook
.Sheets.Add after:=Sheets(Worksheets.Count)
.ActiveSheet.Name = FertigmBlattName
End With
Worksheets("Fertigmeldungen").Activate
Das funktioniert auch wunderbar. Nun möchte ich dieses Sheet in eine Excel-Datei kopieren, in dem noch anderen Sheets vorhanden sind. Und da bricht der VBA Code immer an der Stelle
.Sheets.Add after:=Sheets(Worksheets.Count)
ab mit der Fehlermeldung "Die Methode 'Ad' für das Objekt 'Sheets' ist fehlgeschlagen.
Hat jemand eine Idee warum?
Ich finde den Fehler nicht.
Gruß
Statler
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
Wehrdienst für nach 31.12.2007 geborene Männer. Freiwilligkeit wird nicht ausreichen; also gibt es das Losverfahren mit daraus mehr als 50% Dienstverpflichteten. Herzlichen Glückwunsch. (Ich habe 15 Monate in der Lw gedient). Weiße Jahrgänge der Bw also ca. -1937 und 1994-2007. Alternativen wie Zivildienst/Verweigerung/Soziales Jahr noch nicht besprochen.
Registriert seit: 01.02.2017
Version(en): 13
Was soll mir das sagen?
Ich habe keine geschützten Arbeitsblätter ....
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
27.08.2021, 17:08
(Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2021, 17:20 von LCohen.)
Davon ist in der Linkbezeichnung keine Rede. Außerdem war es angesichts Deiner Informationsfülle ein Schuss ins Blaue.
Wehrdienst für nach 31.12.2007 geborene Männer. Freiwilligkeit wird nicht ausreichen; also gibt es das Losverfahren mit daraus mehr als 50% Dienstverpflichteten. Herzlichen Glückwunsch. (Ich habe 15 Monate in der Lw gedient). Weiße Jahrgänge der Bw also ca. -1937 und 1994-2007. Alternativen wie Zivildienst/Verweigerung/Soziales Jahr noch nicht besprochen.
Registriert seit: 29.05.2020
Version(en): Office 365
.. auch nur ein Schuss ins Blaue:
der . vor Sheets.Add sorgt dafür, dass sich Sheets auf ThisWorkbook bezieht. Vor Sheets(Worksheets.Count) steht kein Punkt, damit bezieht sich dieses Sheets auf die gerade aktuelle Arbeitsmappe. Vielleich tliegt hier das Problem.
Registriert seit: 01.02.2017
Version(en): 13
28.08.2021, 07:01
(Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2021, 07:03 von Statler.)
Hallo LCohen,
das war ja auch nicht als Vorwurf gemeint; bin ja froh, wenn sich jemand meiner Frage annimmt. Aber Dein Link fürt zum Theme "Geschützte Arbeitsmappen". Das hat irgendwie nichts mit dem Thema zu tun - oder, ich habe was falsch verstanden...
Gruß
Statler
Hallo ReginaR,
das war eine gute Idee mit dem Punkt, funktioniert aber leider auch nicht.
Ich verstehe es nicht. Warum kann der VBA Code in einer Datei, in der sonst keine Arbeitsblätter sind, funktionieren, und in einer anderen nicht?
Gruß
Statler
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
Moin!
Der Hinweis von Regina war schon (fast) korrekt, Du hast ihn nur nicht richtig umgesetzt.
With ThisWorkbook
.Sheets.Add after:=Sheets(Worksheets.Count)
Der Code besagt folgendes (Mappe mit 5 Worksheets ist aktiv, DieseArbeitsmappe hat aber bisher nur 1 Sheet):
Füge in DieserArbeitsmappe ein Blatt nach Blatt 5 ein.
Da es das nicht gibt, folgt die Fehlermeldung.
Daher fehlen 2 Punkte:
With ThisWorkbook
.Sheets.Add after:=.Sheets(.Sheets.Count)
Gruß Ralf
(Ich habe auch mal das Kuddelmuddel Worksheets/Sheets beseitigt)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 01.02.2017
Version(en): 13
Mega
Das funktioniert.
Danke!
Gruß
Statler