Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CommandButton Abfrage

CommandButton Abfrage
19.12.2013 06:38:31
Marco
Liebe Excelfreunde,
ich habe in einem Arbeitsblatt 12 Commandbutton eingebaut. (Januar bis Dezember)
Jedem dieser Button soll bei Click in einem danach aufgerufenen Modul dem Wert X eine andere Größe zugeordnet werden.
Z.B. wenn Commandbutton Januar gedrückt wurde dann X = 3
wenn Commandbutton Februar gedrückt wurde dann X = 4 usw.
Dezember dann X = 14
Kann mir hier jemand helfen?
Vielen Dank
Marco

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandButton Abfrage
19.12.2013 07:31:26
JoWE
Hallo Marco,
so vllt.
'Code der Schaltfläche(n), kommt aus der Symbolleiste Formular)
'diese Schaltfläche hat die Aufschrift Dezember
Sub Schaltfläche12_BeiKlick()
ActiveSheet.Shapes("Button 12").Select
Modul1.setMonth (Selection.Characters.Text)
SendKeys "{ESC}", True
End Sub

'Code in Modul1
Sub setMonth(intMonat)
Select Case intMonat
Case Is = "Dezember"
X = 12
MsgBox X
Case Is = "November"
X = 12
MsgBox X
Case Is = "DOktober"
X = 12
MsgBox X
'und so weiter
End Select
End Sub

Gruß
Jochen

Anzeige
AW: CommandButton Abfrage
19.12.2013 09:46:02
Beverly
Hi Marko,
schreibe folgendes Makro in ein allgemeines Modul und weise es jedem der CommandButton zu:
Sub SchalterAuswahl()
With ActiveSheet.Shapes(Application.Caller)
Select Case .OLEFormat.Object.Caption
Case "Januar"
MsgBox 3
Case "Februar"
MsgBox 4
Case "März"
MsgBox 5
End Select
End With
End Sub
Die restlichen Monate und den eigentlichen Code musst du natürlich ergänzen.


Anzeige
AW: CommandButton Abfrage
19.12.2013 13:56:27
Marco
Danke ALLEN,
Er bringt mir immer Laufzeitfehler 13 Typen unverträglich.
Den Commandbutton habe ich mit Januar benannt.
Ist vielleicht Formularsteuerelement verkehrt?
Ich versuchs rauszufinden.
vielen Dank und Grüße
Marco

AW: hier mal mit CommandButton (ActiveX...)
19.12.2013 16:34:39
Marco
Hallo Mathias,
das klappt prima.
vielen DANK für Deine Mühe
Gruß
Marco

Danke für Deine Rückmeldung ...
19.12.2013 16:39:45
Matthias
Hallo
Die anderen Helfer hatten sich anscheinend alle aufs Formular-Steuerelement bezogen.
Was in den jeweiligen Antworten dann auch funktioniert. Nur eben nicht fürs CommandButton.
Gruß Matthias

Anzeige
AW: CommandButton Abfrage
19.12.2013 10:23:02
Rudi
Hallo,
allen Buttons zuweisen:
Sub ButtonClick()
MsgBox Month(CDate("1." & ActiveSheet.Shapes(Application.Caller).OLEFormat.Object.Caption)) + _
2
End Sub

Gruß
Rudi

AW: ja!!!
19.12.2013 13:04:12
JoWE
;
Anzeige

Infobox / Tutorial

CommandButton Abfrage in Excel VBA


Schritt-für-Schritt-Anleitung

  1. CommandButtons erstellen: Füge die CommandButtons für die Monate Januar bis Dezember in dein Excel-Arbeitsblatt ein. Du kannst dies über die Entwicklertools tun.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Modul erstellen: Erstelle ein neues Modul, indem Du im Projektfenster mit der rechten Maustaste auf „VBAProject (DeinWorkbook)“ klickst und „Einfügen“ > „Modul“ auswählst.

  4. Makro für die CommandButtons: Füge den folgenden Code in das Modul ein:

    Sub SchalterAuswahl()
       With ActiveSheet.Shapes(Application.Caller)
           Select Case .OLEFormat.Object.Caption
               Case "Januar"
                   MsgBox 3
               Case "Februar"
                   MsgBox 4
               Case "März"
                   MsgBox 5
               ' Füge hier die restlichen Monate hinzu
           End Select
       End With
    End Sub
  5. Zuweisung des Makros: Weise jedem CommandButton das Makro „SchalterAuswahl“ zu, indem Du mit der rechten Maustaste auf den Button klickst und „Makro zuweisen“ wählst.

  6. Testen: Klicke auf die CommandButtons, um zu überprüfen, ob die entsprechenden Werte angezeigt werden.


Häufige Fehler und Lösungen

  • Laufzeitfehler 13: Typen unverträglich: Dieser Fehler tritt häufig auf, wenn der CommandButton nicht korrekt zugewiesen wurde. Stelle sicher, dass der Button den richtigen Namen hat und dass das Makro richtig zugewiesen ist.

  • Fehlende Monatsnamen: Wenn Du nicht alle Monate im Code berücksichtigt hast, kann es zu unerwarteten Ergebnissen kommen. Ergänze den Code mit den fehlenden Monaten.


Alternative Methoden

Eine alternative Methode zur Verwendung von CommandButtons ist die Verwendung von ActiveX-Steuerelementen. Diese können mehr Anpassungen bieten. Hier ist ein einfaches Beispiel:

Sub ButtonClick()
    MsgBox Month(CDate("1." & ActiveSheet.Shapes(Application.Caller).OLEFormat.Object.Caption)) + 2
End Sub

Verwende diesen Code, um eine dynamische Antwort basierend auf dem Monat des Buttons zu erhalten.


Praktische Beispiele

Hier sind einige Beispiele, die Du in Deinem Arbeitsblatt verwenden kannst:

  1. Januar Button:

    Case "Januar"
       MsgBox "Wert für Januar: 3"
  2. Februar Button:

    Case "Februar"
       MsgBox "Wert für Februar: 4"
  3. März Button:

    Case "März"
       MsgBox "Wert für März: 5"

Ergänze den Code um die restlichen Monate bis Dezember.


Tipps für Profis

  • Verwendung von Arrays: Du kannst die Werte für jeden Monat in einem Array speichern, um den Code zu vereinfachen und zu optimieren.

  • Error Handling: Implementiere Fehlerbehandlungsroutinen in Deinen Makros, um unerwartete Fehler abzufangen und benutzerfreundliche Fehlermeldungen anzuzeigen.


FAQ: Häufige Fragen

1. Warum funktioniert mein CommandButton nicht?
Überprüfe, ob das Makro korrekt zugewiesen ist und ob der Name des CommandButtons genau mit dem im Code übereinstimmt.

2. Kann ich die Werte anpassen?
Ja, Du kannst die Werte in den MsgBox-Anweisungen nach Deinen Bedürfnissen anpassen.

3. Wo finde ich weitere Informationen zu VBA?
Es gibt viele Online-Ressourcen und Foren, die sich mit Excel VBA beschäftigen. Die Microsoft-Dokumentation ist ebenfalls eine hilfreiche Quelle.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige