Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro ausführen wenn bestimmter Wert in Zelle

Makro ausführen wenn bestimmter Wert in Zelle
08.09.2016 09:56:31
Onkel
Hallo zusammen,
ich habe eine einfache Frage für Leute mit VBA-Kenntissen :)
Wenn sich in Zelle K1 der Wert in 2 ändert, soll ein Makro ausgeführt werden, welches bereits vorhanden ist.
die Werte in K1 sind mit einem Dropdown-Menü verknüpft.
Habe es mal so probiert, klappt aber leider noch nicht
Private Sub InhaltChecken()
If Sheets("Tabelle1").Range("K1").Value = "2" Then
Call Makro1
End If
End Sub
Danke für eure Hilfe :)
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
nur 2..nicht "2" ? Gruß
08.09.2016 10:07:08
Robert
AW: nur 2..nicht "2" ? Gruß
08.09.2016 10:15:09
Onkel
danke, aber klappt leider auch nicht :-/
Gruß Onkel
AW: nur 2..nicht "2" ? Gruß
08.09.2016 10:25:00
Gerd
Hallo!
Ins Modul der Tabelle:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$K$1" Then
If Target.Value = 2 Then
Call makro1
End If
End If
End Sub

Gruß Gerd
Anzeige
AW: nur 2..nicht "2" ? Gruß
08.09.2016 10:18:08
Onkel
danke, aber klappt leider auch nicht :-/
Gruß Onkel
AW: nur 2..nicht "2" ? Gruß
08.09.2016 10:18:39
Onkel
habs selber hinbekommen, danke :)

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makro ausführen bei bestimmtem Wert in Zelle


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro auszuführen, wenn sich der Wert in einer Zelle ändert, kannst Du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Suche im Projekt-Explorer die Tabelle, in der Du das Makro ausführen möchtest, und doppelklicke darauf.

  3. Füge den folgenden Code in das Code-Fenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address = "$K$1" Then
           If Target.Value = 2 Then
               Call Makro1
           End If
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Ändere den Wert in Zelle K1 auf „2“ und beobachte, ob das Makro Makro1 ausgeführt wird.


Häufige Fehler und Lösungen

Hier sind einige häufige Fehler, die Du beim Ausführen eines Makros in Excel VBA beachten solltest, sowie deren Lösungen:

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass Du den Code in das richtige Tabellen-Modul eingefügt hast (z.B. Tabelle1 für K1).
  • Fehler: Der Wert in K1 wird nicht erkannt.

    • Lösung: Überprüfe, ob der Wert tatsächlich als 2 eingegeben wurde und nicht als Text (z.B. "2"). Verwende gegebenenfalls die CStr-Funktion.
  • Fehler: Der Code wird nicht ausgeführt, wenn der Wert geändert wird.

    • Lösung: Stelle sicher, dass das Makro in der richtigen Event-Prozedur (Worksheet_Change) steht.

Alternative Methoden

Es gibt verschiedene Wege, um ein Makro auszuführen, wenn sich der Wert in einer Zelle ändert:

  • Verwendung eines Dropdown-Menüs:

    • Wenn Du ein Dropdown-Menü in Zelle K1 verwendest, kannst Du sicherstellen, dass nur die gewünschten Werte ausgewählt werden, was die Fehleranfälligkeit verringert.
  • Timer-Event:

    • Du kannst ein Timer-Event verwenden, um regelmäßig zu überprüfen, ob sich der Wert in der Zelle geändert hat.

Praktische Beispiele

Hier sind einige praktische Beispiele, die Dir helfen, das Konzept besser zu verstehen:

  • Beispiel 1: Wenn in Zelle A1 das Wort „Aktiv“ eingegeben wird, soll ein Makro zur Berechnung einer Summe aktiviert werden.

    Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address = "$A$1" And Target.Value = "Aktiv" Then
          Call BerechnungSumme
      End If
    End Sub
  • Beispiel 2: Ein Makro soll ausgeführt werden, wenn der Wert in Zelle B2 größer als 10 ist.

    Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address = "$B$2" And Target.Value > 10 Then
          Call MakroGroesserAlsZehn
      End If
    End Sub

Tipps für Profis

  • Nutze Application.EnableEvents = False: Wenn Du innerhalb eines Makros Änderungen an Zellen vornimmst, deaktiviere Ereignisse, um rekursive Aufrufe zu vermeiden.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um sicherzustellen, dass Dein Makro auch bei unerwarteten Eingaben stabil bleibt.

  • Dokumentation: Kommentiere Deinen Code gut, damit Du später leichter nachvollziehen kannst, was in den einzelnen Abschnitten passiert.


FAQ: Häufige Fragen

1. Frage
Wie kann ich mehrere Zellen überwachen?
Antwort: Du kannst die Target-Adresse in der If-Bedingung erweitern, um mehrere Zellen zu überprüfen, z.B. If Target.Address = "$K$1" Or Target.Address = "$L$1" Then.

2. Frage
Was mache ich, wenn das Makro nicht gefunden wird?
Antwort: Stelle sicher, dass das Makro in einem Modul vorhanden ist und der Name korrekt geschrieben ist. Überprüfe auch, ob Du in der richtigen Arbeitsmappe arbeitest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige