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
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
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.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
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