Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro in Abhängigkeit von Zellwert

Makro in Abhängigkeit von Zellwert
Zellwert
Hallo zusammen,
ich steuere die Zelle A1 per Optionsfeld an. Dadurch werden dort Ziffern von 1 - 3 erzeugt.
Nun möchte ich in Abhängigkeit vom Wert ein dazugehöriges Makro (als Beispiel eine Msgbox) ablaufen lassen.
Mein nachfolgender Code funktioniert aber nicht.
Was mache ich falsch?
Private Sub Worksheet_Change(ByVal Target As Range)
'Ansteuern der Zelle A1 per Optionsfelder
If Range("A1").Value = 1 Then
MsgBox "1"
End If
If Range("A1").Value = 2 Then
MsgBox "2"
End If
If Range("A1").Value = 3 Then
MsgBox "3"
End If
End Sub

Danke vorab!
Dietmar aus Aachen
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro in Abhängigkeit von Zellwert
14.04.2010 12:55:14
Zellwert
hallo
Dietmar
versuchs mal im:
Private Sub Worksheet_Calculate() Ereigniss
gruss hary
Nein, geht auch nicht oT
14.04.2010 14:38:29
Dietmar
oT=ohne Text
AW: Makro in Abhängigkeit von Zellwert
14.04.2010 12:57:54
Zellwert
Hallo,
durch die Änderung wir kein Change-Event ausgelöst.
Weise den Feldern die 3 entspr. Makros zu
Sub Optionsfeld1_BeiKlick()
test 1
End Sub

Sub Optionsfeld2_BeiKlick()
test 2
End Sub

Sub Optionsfeld3_BeiKlick()
test 3
End Sub

Sub test(x)
MsgBox x
End Sub
Gruß
Rudi
Anzeige
Danke, ja so gehts
14.04.2010 14:37:41
Dietmar
Hallo Rudi,
vielen Dank, so geht es!
Allerdings leuchtet es mir nicht ganz ein, warum durch Optionsfelder keine Change-Event ausgelöst wird.
Aber es ist nunmal wie es ist; so komme ich auch klar.
Viele Grüße
Dietmar aus Aachen
AW: Makro in Abhängigkeit von Zellwert
14.04.2010 13:02:12
Zellwert
Hallo Dietmar,
gib dem Makro einen "normalen" Prozedurnamen, z.B.: Sub Option_A1()
und füge die Prozedur in einem allgemein Modul ein.
Den drei OptionButtons , weist du dann dieses Makro zu.
Gruß
Franz
Anzeige
Vielen Dank, so gehts
14.04.2010 14:40:08
Dietmar
Hallo Franz,
das entspricht dem Himweis von Rudi. Dann wird es wohl tatsächlich keine andere Lösung geben; wiewohl mich das eín wenig wundert.
Aber ich komme ja damit bestens klar.
Viele Grüße
Dietmar aus Aachen
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Makro in Abhängigkeit von Zellwert in Excel


Schritt-für-Schritt-Anleitung

Um ein Makro in Abhängigkeit von einem Zellwert in Excel auszulösen, befolge diese Schritte:

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du die Zelle A1 steuerst.

  2. Füge ein Optionsfeld in Dein Arbeitsblatt ein, um die Werte 1 bis 3 auszuwählen. Das kannst Du über die Entwicklertools tun.

  3. Öffne den VBA-Editor mit ALT + F11.

  4. Füge den folgenden Code in das entsprechende Arbeitsblattmodul ein:

    Private Sub Worksheet_Calculate()
        If Range("A1").Value = 1 Then
            Call Option_A1
        ElseIf Range("A1").Value = 2 Then
            Call Option_A2
        ElseIf Range("A1").Value = 3 Then
            Call Option_A3
        End If
    End Sub
    
    Sub Option_A1()
        MsgBox "1"
    End Sub
    
    Sub Option_A2()
        MsgBox "2"
    End Sub
    
    Sub Option_A3()
        MsgBox "3"
    End Sub
  5. Speichere Deine Arbeit und teste das Makro, indem Du die Auswahl im Optionsfeld änderst.


Häufige Fehler und Lösungen

  • Fehler: Change-Event wird nicht ausgelöst.

    • Lösung: Wenn Du ein Optionsfeld verwendest, wird kein Change-Event ausgelöst. Stelle sicher, dass Du das Worksheet_Calculate-Ereignis nutzt.
  • Fehler: Makro läuft nicht.

    • Lösung: Überprüfe, ob das Makro im richtigen Modul gespeichert ist. Die OptionButtons sollten das korrekte Makro zugewiesen bekommen.

Alternative Methoden

Eine alternative Methode besteht darin, jedem Optionsfeld ein eigenes Makro zuzuweisen. Beispiel:

Sub Optionsfeld1_BeiKlick()
    Call test(1)
End Sub

Sub Optionsfeld2_BeiKlick()
    Call test(2)
End Sub

Sub Optionsfeld3_BeiKlick()
    Call test(3)
End Sub

Sub test(x)
    MsgBox x
End Sub

Diese Methode ist besonders nützlich, wenn Du spezifische Aktionen für jede Auswahl hast.


Praktische Beispiele

  1. Beispiel mit MsgBox:

    • Wenn Du die Werte 1, 2 oder 3 über die Optionsfelder auswählst, wird jeweils eine MsgBox angezeigt.
  2. Beispiel mit Berechnungen:

    • Du könntest auch Berechnungen in Abhängigkeit von der Auswahl durchführen, etwa:
    If Range("A1").Value = 1 Then
        Range("B1").Value = 10
    ElseIf Range("A1").Value = 2 Then
        Range("B1").Value = 20
    ElseIf Range("A1").Value = 3 Then
        Range("B1").Value = 30
    End If

Tipps für Profis

  • Verwende Option Explicit: Füge Option Explicit am Anfang Deiner Module ein, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft bei der Fehlersuche.
  • Nutze Fehlerbehandlung: Implementiere On Error Resume Next und On Error GoTo 0, um mögliche Laufzeitfehler zu handhaben.
  • Dokumentiere Deine Makros: Füge Kommentare in Deinem Code hinzu, damit Du und andere Benutzer schneller verstehen, was jeder Teil des Codes macht.

FAQ: Häufige Fragen

1. Warum wird das Change-Event bei Optionsfeldern nicht ausgelöst?
Optionsfelder in Excel lösen kein Change-Event aus, weil sie keine direkten Zelländerungen verursachen. Stattdessen solltest Du das Worksheet_Calculate-Ereignis verwenden.

2. Wie weise ich ein Makro einem Optionsfeld zu?
Rechtsklicke auf das Optionsfeld im Arbeitsblatt, wähle „Makro zuweisen“ und wähle das entsprechende Makro aus der Liste aus.

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