Function DoSheetExist(ByVal wkb2CheckSheet As Workbook, Optional sht2Check As Worksheet, Optional Name2Check As String) As Boolean
' Funktion überprüft ob eine Tabelle in einer Arbeitsmappe
' bereits besteht Parameter Tabelle kann entweder als name
' oder als worksheet objekt übergeben werden
Dim i As Worksheet
Dim HlpStr As String
DoSheetExist = False
If sht2Check Is Nothing Then
HlpStr = Name2Check
Else
HlpStr = sht2Check.Name
End If
For Each i In wkb2CheckSheet.Worksheets
If i.Name = HlpStr Then
DoSheetExist = True
Exit Function '!!!!!!!!!
End If
Next i
End Function
Bei Problemen meld dich.
Gruss
Hansi
Public Sub Test()
Dim diagram As Chart
Dim bolErstellt As Boolean
bolErstellt = False
For Each diagram In ThisWorkbook.Charts
' If diagram.Name = "YXZ" Then Für den Fall, dass du mehere Diagramme einstellst, und nur das Vorhandensein auf ein Diagramm mit Namen "xyz" überprüfen möchtest
bolErstellt = True
' End If
Exit For
Next diagram
If bolErstellt Then
MsgBox ("Diagramm bereits erstellt")
Else
'Hier der Code für das Diagramm
End If
End Sub
Um zu überprüfen, ob bereits ein Diagramm in Excel existiert, kannst du folgende Schritte befolgen:
Userform erstellen: Du benötigst eine Userform mit drei Buttons:
Code für den Button "Diagramm erstellen": Füge den folgenden VBA-Code in das Click-Ereignis des Diagramm-Buttons ein:
Public Sub DiagrammErstellen()
Dim diagram As Chart
Dim bolErstellt As Boolean
bolErstellt = False
For Each diagram In ThisWorkbook.Charts
bolErstellt = True
Exit For
Next diagram
If bolErstellt Then
MsgBox ("Diagramm bereits erstellt")
Else
' Hier der Code für das Diagramm erstellen
End If
End Sub
Überprüfen der Diagramme: Dieser Code überprüft, ob bereits ein Diagramm in der Arbeitsmappe vorhanden ist. Falls ja, wird eine MsgBox angezeigt, andernfalls wird das Diagramm erstellt.
Fehler: "kein optional möglich": Dieser Fehler tritt auf, wenn du eine Funktion mit zu wenigen Argumenten aufrufst. Stelle sicher, dass alle benötigten Parameter übergeben werden.
Diagramm wird trotz Überprüfung erstellt: Überprüfe deinen Code auf Logikfehler. Stelle sicher, dass die Schleife korrekt durchlaufen wird und dass die Bedingung für das Vorhandensein des Diagramms richtig ist.
Falls du eine andere Methode zur Überprüfung von Diagrammen verwenden möchtest, kannst du die DoSheetExist
-Funktion verwenden:
Function DoSheetExist(ByVal wkb2CheckSheet As Workbook, Optional sht2Check As Worksheet, Optional Name2Check As String) As Boolean
Dim i As Worksheet
DoSheetExist = False
If sht2Check Is Nothing Then
HlpStr = Name2Check
Else
HlpStr = sht2Check.Name
End If
For Each i In wkb2CheckSheet.Worksheets
If i.Name = HlpStr Then
DoSheetExist = True
Exit Function
End If
Next i
End Function
Diese Funktion überprüft, ob ein Arbeitsblatt (z.B. ein Diagrammblatt) in der Arbeitsmappe existiert.
Hier ist ein Beispiel, wie du den Code in einer realen Anwendung verwenden kannst:
Public Sub Test()
Dim diagram As Chart
Dim bolErstellt As Boolean
bolErstellt = False
For Each diagram In ThisWorkbook.Charts
bolErstellt = True
Exit For
Next diagram
If bolErstellt Then
MsgBox ("Diagramm bereits erstellt")
Else
' Diagramm erstellen
Dim neuesDiagramm As Chart
Set neuesDiagramm = ThisWorkbook.Charts.Add
neuesDiagramm.ChartType = xlColumnClustered
' Füge hier deine Daten hinzu
End If
End Sub
Verwende spezifische Namen: Wenn du mehrere Diagramme erstellst, überprüfe das Vorhandensein von Diagrammen anhand ihrer spezifischen Namen, um Verwechslungen zu vermeiden.
Fehlerbehandlung hinzufügen: Implementiere eine Fehlerbehandlung, um unerwartete Situationen abzufangen, z.B. wenn das Diagramm nicht erstellt werden kann.
1. Wie kann ich überprüfen, ob ein Diagramm mit einem spezifischen Namen existiert?
Du kannst eine Schleife verwenden, die durch alle Diagramme in der Arbeitsmappe iteriert und den Namen vergleicht.
2. Welche Excel-Version benötige ich für diese Funktionen?
Die oben genannten VBA-Funktionen sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und neuer.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen