VBA: workbook schließt sich nicht, wenn Sheet ein Diagramm ist
Guten Abend Zusammen,
habe ein zweites Problem in meinem Code. Dachte ich kann des selber lösen aber es klappt leider nicht.
Wenn ich eine Datei öffne und das erste Tabellenblatt KEIN DIAGRAMM ist dann schließt sich die Datei Problemlos.
Wenn das erste Tabellenblatt aber EIN Diagramm ist schließt es sich nicht.
Überwachungsausdrücke wenn erstes Tabellenblatt KEIN Diagramm ist:
Überwachungsausdrücke wenn erstes Tabellenblatt EIN Diagramm ist:
Meine Überlegungen waren das ich mit IF ELSE prüfe ob wb NULL, Nothing oder Leer ist ("") und falls ja das ich die variable sheetCounter +1 zähle bis kein Diagrammblatt mehr kommt.
Hat aber leider nicht funktioniert. Habt ihr eine Idee?
Grüße Gimli3311
habe ein zweites Problem in meinem Code. Dachte ich kann des selber lösen aber es klappt leider nicht.
Wenn ich eine Datei öffne und das erste Tabellenblatt KEIN DIAGRAMM ist dann schließt sich die Datei Problemlos.
Wenn das erste Tabellenblatt aber EIN Diagramm ist schließt es sich nicht.
Dim sheetCounter As Integer
sheetCounter = 1
'öffne Datei, nur Lesen, Keine Updates
Set wb = Workbooks.Open(f, ReadOnly:=True, UpdateLinks:=0, Password:="Passwort").Sheets(sheetCounter)
'Suche nach Logbuch oder Logbook in Datei --> Funktion: search()
blFound = search()
'Ruft Funktion checkTemplate auf und gibt eine Ganzzahl zurück ()
lngTemplate = checkTemplate(blFound, strFileName)
'Schließe Datei. False = ohne zu speichern!
wb.Parent.Close False
Überwachungsausdrücke wenn erstes Tabellenblatt KEIN Diagramm ist:
Überwachungsausdrücke wenn erstes Tabellenblatt EIN Diagramm ist:
Meine Überlegungen waren das ich mit IF ELSE prüfe ob wb NULL, Nothing oder Leer ist ("") und falls ja das ich die variable sheetCounter +1 zähle bis kein Diagrammblatt mehr kommt.
Hat aber leider nicht funktioniert. Habt ihr eine Idee?
Grüße Gimli3311
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288829
Url: https://administrator.de/forum/vba-workbook-schliesst-sich-nicht-wenn-sheet-ein-diagramm-ist-288829.html
Ausgedruckt am: 11.01.2025 um 12:01 Uhr
2 Kommentare
Neuester Kommentar
Moin,
ganz einfach, du hast vermutlich deine Variable als Typ:Worksheet deklariert und On Error Resume Next benutzt, ein Diagramm ist aber kein Objekt vom Typ Worksheet sondern Chart, also setzte die Variable auf den Typ Object und prüfe den dann den Typ mit der Funktion TypeName(varName):
Gruß grexit
ganz einfach, du hast vermutlich deine Variable als Typ:Worksheet deklariert und On Error Resume Next benutzt, ein Diagramm ist aber kein Objekt vom Typ Worksheet sondern Chart, also setzte die Variable auf den Typ Object und prüfe den dann den Typ mit der Funktion TypeName(varName):
Dim wb As Object
Set wb = Workbooks.Open(f, ReadOnly:=True, UpdateLinks:=0,Password:="Passwort").Sheets(sheetCounter)
If TypeName(wb) = "Worksheet" Then
' Objekt ist ein Worksheet
MsgBox "Objekt ist ein Worksheet"
Else
' Objekt ist ein Chart oder was anderes
MsgBox "Objekt ist 'kein' Worksheet"
End If