Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ScrollBar
BildScreenshot zu ScrollBar ScrollBar-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Wenn Button vorhanden, dann

Betrifft: Wenn Button vorhanden, dann von: Walter mb
Geschrieben am: 20.06.2008 12:17:46

Hallo Zusammen,
ich möchte gern prüfen, wenn ein Button in einer Tabelle schon vorhanden ist,
msgbox "Button schon da " erscheinen.

mfg Walter mb

  

Betrifft: AW: Wenn Button vorhanden, dann von: Chris
Geschrieben am: 20.06.2008 12:57:28

servus Walter,

z.B. so für Buttons aus der Steuerelement Toolbox:

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


  

Betrifft: AW: Wenn Button vorhanden, dann von: Walter mb
Geschrieben am: 20.06.2008 13:08:17

Hallo Chris,
habe so eingesetzt, obwohl ein Button vorhanden ist kommt
Meldung:
MsgBox "CommandButton1 nicht da !", vbCritical

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


  

Betrifft: AW: Wenn Button vorhanden, dann von: Beverly
Geschrieben am: 20.06.2008 13:25:24

Hi Walter,

Sub Button()
    Dim ooElement As OLEObject
    For Each ooElement In ActiveSheet.OLEObjects
        If ooElement.Name = "Button" Then
            MsgBox "Button ist da"
            Exit For
        End If
    Next ooElement
End Sub





GrußformelBeverly's Excel - Inn


  

Betrifft: Wieso bei mir nicht ? von: Walter mb
Geschrieben am: 20.06.2008 13:54:42

Hallo Karin,

bei klappt es nicht !
Liegt es daran das ich Schaltflächen habe ?

mfg walter mb


  

Betrifft: AW: Wieso bei mir nicht ? von: Beverly
Geschrieben am: 20.06.2008 14:15:51

Hi Walter,

wenn es ein Element aus der Formular-Symbolleiste ist, dann so

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




GrußformelBeverly's Excel - Inn


  

Betrifft: Ich verzweifel von: Walter mb
Geschrieben am: 20.06.2008 14:35:01

Hallo Karin, bitte nicht BÖSSSSSe sein,
aber es funkt. nicht.

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


  

Betrifft: AW: Ich verzweifel von: Reinhard
Geschrieben am: 20.06.2008 14:50:01

Hi Walter,

was erscheint denn so alles oder halt nicht wenn du dies mal laufen läßt:

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


  

Betrifft: AW: Ich verzweifel von: Walter mb
Geschrieben am: 20.06.2008 15:05:44

Hallo Reinhard,
so werden die Command Button und Schaltflächen per MSGBOX angezeigt !

mfg walter mb


  

Betrifft: AW: Ich verzweifel von: Beverly
Geschrieben am: 20.06.2008 16:44:08

Hi Walter,

und wie heißt die Schaltfläche denn nun richtig, d.h. was wird dir als MasBox angezeigt? Diesen Namen musst du in den anderen Code einsetzen, denn wenn der Code bei dir immer den Button nicht findet, dann heißt er nicht so, wie du ihn geschrieben hast.



GrußformelBeverly's Excel - Inn


  

Betrifft: Hallo Karin von: Walter MB
Geschrieben am: 20.06.2008 20:28:11

Hallo Karin,
ich habe mehrer Button drauf, die werden alle angezeigt also
also Button 14, Button 2 u.s.w.

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


  

Betrifft: Ich habe die Lösung ? von: Walter MB
Geschrieben am: 20.06.2008 20:56:53

Hallo Karin,
mit diesem Makro habe ich das was ich wollte:

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


  

Betrifft: AW: Ich habe die Lösung ? von: Reinhard
Geschrieben am: 21.06.2008 01:29:45

Hi Walter,

"mit diesem Makro habe ich das was ich wollte:"

leider nicht, du hast da einen maroden Vba-Code der garantiert nicht das macht was möchtest, was immer das auch immer ist *seufz*

Schau mal in der Vba-Hilfe nach was exit sub so macht, das nachfolgende exit for wird nie ausgeführt.

Soofern du auch nur ein "Shape" in deinem Blatt hast wird
If shShape.Name = "Button" <> 1 Then
immer ausgeführt!

D.h. wenn du ein Shape, einen button im Blatt hast, der "Button 1" heißt liefert dein Code nur die Information daß du einen Button hast, ob der "Button 1" heißt sagt dir dein Code absolut nicht.

Um zu wissen ob ein Button mit dem namen "Button 13" existiert ist ein Weg:

If shShape.Name = "Button 13" Then

If shShape.Name = "Button" <> 1 Then
ist in der Hinsicht Blödsinn. Sorry.

Ich könnte dir jetzt den Hinweis auf "Like" geben, aber fühl mich ehrlich gesagt unwohl weil das das ganze noch verschlimmern könnte.

Vielleicht wäre es für Alle am sinnvollsten du sagst was du da für Buttons hast, woher sie stammen, Formular oder Steuerlement und wofür du die Existensüberprüfung brauchst.

Gruß
Reinhard


  

Betrifft: Guten Morgen von: Walter MB
Geschrieben am: 21.06.2008 09:35:13

Guten Morgen Reinhard,
herzlichen Dank für die ausfühliche Information.
Ich kopiere ein Button (aus Formularauswahl) in eine Tabelle, ich möchte nur prüfen,
ob das Button vorhanden ist, dann kann ich die Spalten formatieren.

Ich habe bei mir getestet, wenn das Button da war, war OK mit der Meldung,
habe das Button gelöscht und die Meldung "Button fehlt" wurde angezeigt.

Kannst Du den das Makro von Karin, dahin RICHTIG, abändern ?

mfg walter mb



  

Betrifft: geht einwandfrei. owT von: Rudi Maintaire
Geschrieben am: 20.06.2008 13:32:06




 

Beiträge aus den Excel-Beispielen zum Thema "Wenn Button vorhanden, dann"