Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Workbook.Sheets.Add Methode funktioniert nicht
#1
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
Antworten Top
#2
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
Antworten Top
#3
Was soll mir das sagen?
Ich habe keine geschützten Arbeitsblätter ....
Antworten Top
#4
Davon ist in der Linkbezeichnung keine Rede. Außerdem war es angesichts Deiner Informationsfülle ein Schuss ins Blaue.
Antworten Top
#5
.. 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.
Antworten Top
#6
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
Antworten Top
#7
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)
Antworten Top
#8
Mega  71 71 71 


Das funktioniert.

Danke!
Gruß
Statler
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste