ich möchte gern prüfen, wenn ein Button in einer Tabelle schon vorhanden ist,
msgbox "Button schon da " erscheinen.
mfg Walter mb
Sub Button()
On Error Resume Next
Sheets("Cache").OLEObjects ("CommandButton1") ' Sheetname anpassen
If Err.Number 0 Then
MsgBox "CommandButton1 nicht da !", vbCritical
Else
MsgBox "CommandButton1 da !", vbInformation
End If
On Error GoTo 0
End Sub
In diesem Fall für den ComandButton1.
Gruß
Chris
Sub Button()
On Error Resume Next
Sheets("Test").OLEObjects ("Button") ' Sheetname anpassen
If Err.Number 0 Then
MsgBox "CommandButton1 nicht da !", vbCritical
Else
MsgBox "CommandButton1 da !", vbInformation
End If
On Error GoTo 0
End Sub
mfg walter mb
Sub auslesen_alle_elemente()
Dim shShape As Shape
For Each shShape In Worksheets("Tabelle1").Shapes
If shShape.Name = "Button" Then
MsgBox "Button ist da"
Exit For
End If
Next shShape
End Sub
Sub Button_auslesen_alle_elemente()
Dim shShape As Shape
For Each shShape In Worksheets("Test").Shapes
If shShape.Name = "Button" Then
MsgBox "Button ist da"
Exit For
End If
Next shShape
MsgBox "Button fehlt"
End Sub
Der Tabellenname ist "Test" hab auch mal "Schaltfläche" eingesetzt, bei mir kommt
immer : MsgBox "Button fehlt"
Es ist aus der Formular-Symbolleiste .
Wo kann den da ein Fehler sein.
mfg walter mb
Sub Button_auslesen_alle_elemente()
Dim shShape As Shape
For Each shShape In Worksheets("Test").Shapes
msgbox shShape.Name
Next shShape
End Sub
Gruß
Reinhard
Sub Button_auslesen_alle_elemente()
Dim shShape As Shape
For Each shShape In Worksheets("Test").Shapes
MsgBox shShape.Name
Next shShape
End Sub
jetzt brauch ich nur die Info:
MsgBox "Button ist da"
MsgBox "Button fehlt"
mfg walter mb
Sub Button2_auslesen_alle_elemente()
Dim shShape As Shape
For Each shShape In Worksheets("Test").Shapes
If shShape.Name = "Button" 1 Then
MsgBox "Button ist da"
Exit Sub
Exit For
End If
Next shShape
MsgBox "Button fehlt"
'hier mein Makro rein ...
End Sub
mfg walter mb
Öffne die Excel-Datei, in der du den Status eines Buttons überprüfen möchtest.
Drücke ALT + F11
, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu:
Kopiere den folgenden Code in das Modul:
Sub ButtonPrüfen()
Dim ooElement As OLEObject
For Each ooElement In ActiveSheet.OLEObjects
If ooElement.Name = "CommandButton1" Then
MsgBox "Button ist da"
Exit Sub
End If
Next ooElement
MsgBox "Button fehlt"
End Sub
Ändere den Button-Namen in der If-Bedingung, falls dein Button anders heißt.
Führe das Makro aus:
ALT + F8
, wähle "ButtonPrüfen" und klicke auf "Ausführen".Fehler: "Button nicht da" wird angezeigt:
Lösung für Schaltflächen aus der Formular-Symbolleiste: Wenn du einen Button aus der Formular-Symbolleiste verwendest, verwende den folgenden Code:
Sub FormularButtonPrüfen()
Dim shShape As Shape
For Each shShape In ActiveSheet.Shapes
If shShape.Name = "Button" Then
MsgBox "Button ist da"
Exit Sub
End If
Next shShape
MsgBox "Button fehlt"
End Sub
Verwendung der For Each
-Schleife:
Um alle Schaltflächen auf einem Blatt zu überprüfen, kannst du den For Each
-Befehl nutzen, um durch alle OLE-Objekte oder Shapes zu iterieren, je nachdem, ob es sich um ActiveX- oder Formular-Schaltflächen handelt.
Verwendung von On Error Resume Next
:
Dieser Befehl kann helfen, Fehler zu ignorieren, wenn der Button nicht gefunden wird. Verwende diesen Ansatz mit Bedacht, da er auch andere Fehler übersehen könnte.
Überprüfen eines spezifischen Buttons:
Sub CheckSpecificButton()
Dim btn As OLEObject
On Error Resume Next
Set btn = ActiveSheet.OLEObjects("CommandButton1")
If btn Is Nothing Then
MsgBox "Button nicht vorhanden."
Else
MsgBox "Button vorhanden."
End If
On Error GoTo 0
End Sub
Schleife durch alle Shapes:
Sub CheckAllShapes()
Dim sh As Shape
For Each sh In ActiveSheet.Shapes
If sh.Name Like "Button*" Then
MsgBox sh.Name & " ist vorhanden."
End If
Next sh
End Sub
Benutze Like
für flexible Namensabgleichung: Wenn du mehrere Buttons hast, deren Namen ähnlich sind (z.B. „Button1“, „Button2“), kannst du Like "Button*"
verwenden, um alle übereinstimmenden Buttons zu finden.
Fehlerbehandlung einfügen: Verwende On Error
-Anweisungen, um unerwartete Fehler während der Ausführung zu handhaben.
Dokumentiere deine Makros: Füge Kommentare zu deinem Code hinzu, um die Funktionsweise zu erklären und zukünftige Änderungen zu erleichtern.
1. Wie kann ich bestätigen, dass ein Button in einer bestimmten Tabelle vorhanden ist?
Um dies zu tun, musst du den Namen des Arbeitsblatts im Code angeben, z.B. Sheets("Tabelle1").OLEObjects
.
2. Was ist der Unterschied zwischen ActiveX-Buttons und Formular-Buttons? ActiveX-Buttons sind flexibler und bieten mehr Funktionen, während Formular-Buttons einfacher zu bedienen sind und weniger Ressourcen benötigen. Stelle sicher, dass du den richtigen Code für den jeweiligen Button-Typ verwendest.
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