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

Meldung zu deaktiviertem CommandButton ausgeben


Betrifft: Meldung zu deaktiviertem CommandButton ausgeben von: Arni
Geschrieben am: 26.04.2018 15:23:52

Hallo zusammen,

ich habe einem CommandButton ein Makro zugewiesen, welches beim Klicken Werte in einen anderen Bereich überträgt. Zudem soll der Button deaktiviert sein, falls bereits Werte in dem Bereich stehen - soweit so gut.
Nun stehe ich vor folgendem Problem: wenn der deaktivierte Button durch den Anwender erneut geklickt wird, poppt die Fehlermeldung "Laufzeitfehler 424: Objekt erforderlich" auf.
Wie kann ich diese Meldung unterdrücken? Viel lieber würde ich den Nutzer mit MsgBox darauf hinweisen, dass der Button deaktiviert ist.

Anbei mein Code:


Sub CommandButton1_Click()
If Worksheets("Test").Range("K4").Value And Worksheets("Test").Range("L4").Value <> "" Then
MsgBox "Button deaktiviert"
CommandButton1.Enabled = False
Else
Worksheets("Test").Range("K4").Value = Worksheets("Test").Range("F4").Value
Worksheets("Test").Range("L4").Value = Worksheets("Test").Range("G4").Value
End If
End Sub

Vielen Dank im Voraus!

Gruß
Arni

  

Betrifft: AW: Meldung zu deaktiviertem CommandButton ausgeben von: Armin
Geschrieben am: 26.04.2018 15:38:16

Hallo Arni,
wenn das Makro in der Tabelle steht brauchst Du nicht Worksheets("").
Du musst nur noch eine Bedingung überlegen, wie der Button wieder aktiv gesetzt wird.

Sub CommandButton1_Click()
If Range("K4").Value = "" And Range("L4").Value = "" Then
   Range("K4").Value = Range("F4").Value
   Range("L4").Value = Range("G4").Value
   CommandButton1.Enabled = False
Else
   MsgBox "Button deaktiviert"
End If
End Sub 
Gruß Armin


  

Betrifft: AW: Meldung zu deaktiviertem CommandButton ausgeben von: Arni
Geschrieben am: 26.04.2018 16:23:35

Besten Dank für die schnellen Reaktionen!

@Armin: Worksheets("") habe ich provisorisch eingebunden, da später die Werte in verschiedenen Tabellen stehen werden. Dennoch danke für den Hinweis.
Mit deinem vorgeschlagenen Code erhalte ich nun dieselbe Fehlermeldung wenn der Button erstmalig geklickt wird - hat das etwas damit zu tun, dass ich noch eine Bedingung für den aktiven Zustand definieren muss?
Zur Erläuterung wie ich es mir vorstelle:
Der Button soll beim Klicken die Werte in einen anderen Bereich übertragen. Ein erneutes Klicken soll verhindert werden und mit einer Meldung darauf hingewiesen werden, damit der Zielbereich nicht überschrieben wird. Ist der Zielbereich jedoch leer (der Nutzer kann diesen in einer anderen Funktion zurücksetzen), kann der Button erneut geklickt werden.

Gruß Arni


  

Betrifft: AW: Meldung zu deaktiviertem CommandButton ausgeben von: Mullit
Geschrieben am: 26.04.2018 15:40:20

Hallo,

das kann nicht sein, wenn der Button über Enabled = False deaktiviert wird, wird das Click-Event nicht mehr ausgeführt...

Gruß, Mullit


  

Betrifft: AW: Meldung zu deaktiviertem CommandButton ausgeben von: Rudi Maintaire
Geschrieben am: 26.04.2018 15:44:02

Hallo,
wie klickst du einen deaktivierten Button an?

If Worksheets("Test").Range("K4").Value <>"" And Worksheets("Test").Range("L4").Value <> "" Then


Gruß
Rudi


  

Betrifft: AW: Meldung zu deaktiviertem CommandButton ausgeben von: Arni
Geschrieben am: 26.04.2018 16:47:35

Okay ich habe dank eurer Hilfestellungen das Problem wie folgt lösen können:

Sub CommandButton1_Click()
    If Range("K4").Value = "" And Range("L4").Value = "" Then
        Range("K4").Value = Range("F4").Value
        Range("L4").Value = Range("G4").Value
    Else
        MsgBox "Button deaktiviert"
    End If
End Sub
Wenn der Zielbereich leer ist, werden die Werte kopiert. Enthält der Zielbereich Werte, dann erscheint die MsgBox mit einem Hinweis und es findet auch keine Überschreibung statt. Das .Enabled = False ist in dem Fall wohl überflüssig.

Herzlichen Dank,
Arni


Beiträge aus dem Excel-Forum zum Thema "Meldung zu deaktiviertem CommandButton ausgeben"