Clever-Excel-Forum

Normale Version: Workbook.Sheets.Add Methode funktioniert nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
https://support.microsoft.com/de-de/offi...7?ns=excel&version=90&syslcid=1031&uilcid=1031&appver=zxl900&helpid=21154&ui=de-de&rs=de-de&ad=de
Was soll mir das sagen?
Ich habe keine geschützten Arbeitsblätter ....
Davon ist in der Linkbezeichnung keine Rede. Außerdem war es angesichts Deiner Informationsfülle ein Schuss ins Blaue.
.. 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.
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...
Huh

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? 22 

Gruß

Statler
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)
Mega  71 71 71 


Das funktioniert.

Danke!
Gruß
Statler