Note: The other languages of the website are Google-translated. Back to English

Wie führe ich ein Makro aus, wenn sich der Zellenwert in Excel ändert?

Normalerweise können wir in Excel die Taste F5 oder die Schaltfläche Ausführen drücken, um den VBA-Code auszuführen. Haben Sie jemals versucht, den spezifischen Makrocode auszuführen, wenn sich ein Zellenwert ändert? In diesem Artikel werde ich einige schnelle Tricks vorstellen, um diesen Job in Excel zu bearbeiten.

Führen Sie ein Makro aus oder rufen Sie es auf, wenn sich ein bestimmter Zellenwert mit dem VBA-Code ändert

Führen Sie ein Makro aus oder rufen Sie es auf, wenn sich ein Zellenwert in einem Bereich mit VBA-Code ändert


Pfeil blau rechte Blase Führen Sie ein Makro aus oder rufen Sie es auf, wenn sich ein bestimmter Zellenwert mit dem VBA-Code ändert

Um einen Makrocode durch Ändern eines Zellenwerts auszuführen, kann Ihnen der folgende VBA-Code einen Gefallen tun: Gehen Sie wie folgt vor:

1. Klicken Sie mit der rechten Maustaste auf die Registerkarte Blatt, auf der Sie das Makro ausführen möchten, wenn sich der Zellenwert ändert, und wählen Sie dann Code anzeigen aus dem Kontextmenü und im geöffneten Microsoft Visual Basic für Anwendungen Kopieren Sie im Fenster den folgenden Code und fügen Sie ihn in das leere Modul ein:

VBA-Code: Makro ausführen, wenn sich der Zellenwert ändert:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Call Mymacro
    End If
End Sub

doc Makro ausführen, wenn sich die Zelle ändert 1

Hinweis: Im obigen Code, A1 ist die spezifische Zelle, auf der Sie den Code ausführen möchten. Mein Makro ist der Makroname, den Sie ausführen möchten. Bitte ändern Sie sie nach Ihren Wünschen.

2. Speichern und schließen Sie dann das Codefenster. Wenn Sie jetzt den Wert in Zelle A1 eingeben oder ändern, wird der spezifische Code sofort ausgelöst.


Pfeil blau rechte Blase Führen Sie ein Makro aus oder rufen Sie es auf, wenn sich ein Zellenwert in einem Bereich mit VBA-Code ändert

Wenn Sie ein Makro ausführen oder auslösen möchten, wenn sich der Wert einer Zelle in einem Zellbereich ändert, kann der folgende Code hilfreich sein.

1. Klicken Sie mit der rechten Maustaste auf die Registerkarte Blatt, auf der Sie das Makro ausführen möchten, wenn sich der Zellenwert ändert, und wählen Sie dann Code anzeigen aus dem Kontextmenü und im geöffneten Microsoft Visual Basic für Anwendungen Kopieren Sie im Fenster den folgenden Code und fügen Sie ihn in das leere Modul ein:

VBA-Code: Führen Sie ein Makro aus, wenn sich ein Zellenwert in einem Bereich ändert:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B100")) Is Nothing Then
Call Mymacro
End If
End Sub

doc Makro ausführen, wenn sich die Zelle ändert 2

Hinweis: Im obigen Code, A1: B100 ist die spezifische Zelle, auf der der Code ausgeführt werden soll. Mein Makro ist der Makroname, den Sie ausführen möchten. Bitte ändern Sie sie nach Ihren Wünschen.

2. Speichern und schließen Sie dann das Codefenster. Wenn Sie jetzt einen Wert in eine beliebige Zelle von A1: B100 eingeben oder ändern, wird der spezifische Code sofort ausgeführt.


Entfernen Sie alle Makros aus mehreren Arbeitsmappen

Kutools for Excel's Batch Entfernen Sie alle Makros Das Dienstprogramm kann Ihnen dabei helfen, alle Makros nach Bedarf aus mehreren Arbeitsmappen zu entfernen. Laden Sie jetzt Kutools für Excel herunter und testen Sie es kostenlos!

Kutools for Excel: Mit mehr als 300 praktischen Excel-Add-Ins können Sie es innerhalb von 30 Tagen ohne Einschränkung testen. Jetzt herunterladen und kostenlos testen!


In Verbindung stehende Artikel:

Wie führe ich ein Makro automatisch aus, bevor ich in Excel drucke?

Wie führe ich ein Makro basierend auf dem Zellenwert in Excel aus?

Wie führe ich ein Makro basierend auf dem Wert aus, der aus der Dropdown-Liste in Excel ausgewählt wurde?

Wie führe ich ein Makro aus, indem ich in Excel auf Hyperlinks klicke?

Wie führe ich ein Makro aus, wenn ein Blatt aus einer Arbeitsmappe ausgewählt wird?


Die besten Tools für die Office-Produktivität

Kutools for Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2021 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. 30-tägige kostenlose Testversion mit allen Funktionen. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!
officetab unten
Kommentare (17)
Noch keine Bewertungen. Bewerten Sie als Erster!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Dieses Modul funktioniert bei mir nicht. Es sagt, wenn sich der WERT der Zelle ändert, wird der Code ausgeführt. Ich finde, wenn ich in die Zelle tippe, funktioniert es, aber wenn der Wert der Zelle durch eine Formel geändert wird, zum Beispiel ein Counta, dann wird es nicht ausgeführt. Haben Sie eine Lösung, um ein Makro auszuführen, wenn sich der WERT durch eine Formel ändert? Danke Wayne
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Gleiches Problem wie Wayne. Jede Hilfe wird sehr geschätzt! Danke Ronnie
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Leute,

Ja, der obige Code ist nur verfügbar, wenn sich der Zellenwert manuell ändert. Wenn Sie einen bestimmten Makrocode automatisch ausführen müssen, wenn sich das Formelergebnis mit seinen relativen Zellen ändert, besuchen Sie bitte diesen Artikel:
https://www.extendoffice.com/documents/excel/4618-excel-vba-run-macro-when-cell-formula-result-changes.html.
Bitte versuchen Sie es und hoffen Sie auf Ihre Antwort.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Es funktioniert nicht ... und ich ändere den Zellenwert manuell. Gibt es eine Vorkonfiguration, die eingerichtet werden muss?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Testen Sie dies in der Prozedur und verwenden Sie es als Parameter


Private Sub Worksheet_Change (ByVal Target As Range)

MsgBox Target.Address & "-" und Target.AddressLocal

End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ja, die Beschreibung besagt, dass es ausgelöst werden sollte, wenn sich der Wert ändert, aber der zweite Code sagt, dass es passiert, wenn der Wert nichts ist, und der erste löst auch nicht aus, wenn sich ein Wert ändert, aber wenn ich beim Betrachten des Codes F5 drücke, will es um MyMacro auszulösen, scheint aber nicht so sehr auf Wertänderungen zu reagieren, wie auf das Wechseln von nichts zu etwas oder dem Gegenteil.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Dies funktionierte zum ersten Mal für mich mit der Datenvalidierungsliste, die Text basierend auf der Listenauswahl anzeigt.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hat bei mir super funktioniert! Mein Dilemma ist, dass ich möchte, dass es ein relatives Referenzmakro ist, und es gibt einen Unterschied zwischen dem Drücken der Eingabetaste, um den Eintrag zu speichern, und dem Löschen, um die Zelle zu löschen.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hey, nützlicher Code. Ich dachte, ob es möglich wäre, einen Ring um die Zellen einzufügen, die sich ändern, wenn sie geändert werden? Und die Kreise jeden Montag zurücksetzen?
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Kevin,
Hier ist keine Idee zur Lösung Ihres Problems, wenn Sie eine gute Lösung haben, kommentieren Sie bitte hier.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Wo befindet sich das Makro, das Sie aufrufen? Ich habe meine im Ordner Module, aber wenn ich einen Wert in eine Zelle des Arbeitsblatts einfüge, erhalte ich einen Kompilierfehler mit der Meldung:
Erwartete Variable oder Prozedur, kein Modul.

Bitte helfen Sie.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo DrCartwright,
Entschuldigen Sie, dass ich Ihnen so spät antworte.
Ja, wie Sie sagten, sollte sich der Makrocode im Modul befinden, und Sie müssen den Codenamen in Ihren eigenen Namen ändern, wie im folgenden Screenshot gezeigt:
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo guten Tag
quisera saber el codigo para que se active una macro cuando cambia el valor de una celda de una columna, pero este valor cambia por formula,sin que el usuario introduzca ningun valor.
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Hallo Leute, ich löse das folgende Problem: Ich möchte einen Titel einer Website kratzen, wenn ein Link in Spalte A eingefügt wird, und diesen Wert in die relevante Zelle (daneben) in Spalte B einfügen. Das Problem scheint zu sein, dass sobald ich den Website in Spalte A, führt der Code die gesamte Liste von Spalte A2 bis zur "letzten Zeile" erneut aus, wie im Code definiert. Gibt es eine Möglichkeit, Spalte B nur zu ändern, wenn eine einzelne Spalte A geändert wird? Dh wenn ich einen Link in Spalte A36 einfüge, bekomme ich einen Titel in B36, egal ob die Zelle in der Mitte des genutzten Bereichs oder ganz unten liegt. Ich möchte dies verwenden, ohne mehrere Eingaben erneut ausführen zu müssen, wie es derzeit ist. (dh die Schleife "for i =2 to last row")? Außerdem möchte ich das unten stehende von Modular-Makro ändern, dh sub zu privatem Sub, das auf Änderungen reagiert (dh Intersect-Funktion), wobei das 'Ziel' eine beliebige Zelle aus dem A: A-Bereich ist. Vielen Dank!


Sub get_title_header()



Dim wb als Objekt

Dim doc als Objekt

Dim sURL als Zeichenfolge

Dim lastrow As Long

lastrow = Sheet1.Cells(Rows.Count, "A").End(xlUp).row



Für i = 2 bis zur letzten Zeile

Set wb = CreateObject("internetExplorer.Application")

sURL = Zellen(i, 1)



wb.navigate sURL

wb.Sichtbar = False



Während wb.Busy

DoEvents

Wend



''HTML-Dokument

Setzen Sie doc = wb.document



Zellen (i, 2) = Dokumenttitel



Bei Fehler GoTo err_clear

Zellen(i, 3) = doc.GetElementsByTagName("h1")(0).innerText

err_clear:

Wenn Err <> 0 Dann

Err.Clear

Fortsetzen Weiter

End If

wb.Quit

Range(Cells(i, 1), Cells(i, 3)).Columns.AutoFit

Weiter ich



End Sub




Danke!
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich versuche, 1 Arbeitsmappe (BOM) zu automatisieren, wenn eine andere Arbeitsmappe (Teilestatus) Änderungen vornimmt. Die Teilestatusdatei wird alle 15 Minuten aktualisiert. Ich muss wissen, wie ich eine bestimmte Spalte automatisieren kann, wenn diese Änderungen auftreten. Irgendwelche Ideen
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Ich verwende den folgenden Code, um verschiedene Spalten je nach Auswahl aus einem Dropdown-Feld in Zelle C3 auszublenden, aber nachdem eine Berechnung an einer beliebigen Stelle im Arbeitsblatt durchgeführt wurde, werden ALLE Spalten UNVERSTECKT. Wie behebe ich das?

Private Sub Worksheet_Change (ByVal-Ziel als Bereich)

Spalten("D:F").AutoFit

Dim Proj1 als String
Dim Proj2 als String
Dim Proj3 als String
Dim Proj4 als String
Dim Proj5 als String
Dim Proj6 als String
Dim Proj7 als String
Dim Proj8 als String
Dim Proj9 als String
Dim Proj10 als String

Proj1 = ActiveWorkbook.Sheets("Projekte").Range("A1").Value
Proj2 = ActiveWorkbook.Sheets("Projekte").Range("A2").Value
Proj3 = ActiveWorkbook.Sheets("Projekte").Range("A3").Value
Proj4 = ActiveWorkbook.Sheets("Projekte").Range("A4").Value
Proj5 = ActiveWorkbook.Sheets("Projekte").Range("A5").Value
Proj6 = ActiveWorkbook.Sheets("Projekte").Range("A6").Value
Proj7 = ActiveWorkbook.Sheets("Projekte").Range("A7").Value
Proj8 = ActiveWorkbook.Sheets("Projekte").Range("A8").Value
Proj9 = ActiveWorkbook.Sheets("Projekte").Range("A9").Value
Proj10 = ActiveWorkbook.Sheets("Projekte").Range("A10").Value

Dim xRG als Bereich
Dim xHRow als ganze Zahl
Setze xRG = Reichweite ("C3")
If Not Intersect(Target, xRG) is Nothing Then

Wenn Target.Value = Proj1 Then
Application.Columns("E:F").Hidden = True
Application.Columns("D").Hidden = False

ElseIf Target.Value = Proj2 Then
Range("D:D, F:F").EntireColumn.Hidden = True
Application.Columns("E").Hidden = False

End If
End If
End Sub
Dieser Kommentar wurde vom Moderator auf der Website minimiert
Das ist genau das, wonach ich gesucht habe. Wenn ein Benutzer einen Wert in eine Zelle eingibt, wird ein einfaches Sortiermakro ausgeführt. Das Makro läuft gut von alleine, aber ich erhalte einen ungültigen Verwendungsfehler bei Verwendung des vorgeschlagenen Codes.

Was könnte das Problem sein?
Es sind noch keine Kommentare vorhanden
Bitte hinterlassen Sie Ihre Kommentare auf Englisch
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte

Folgen Sie uns

Copyright © 2009 - www.extendoffice.com. | Alle Rechte vorbehalten. Unterstützt von ExtendOffice. | Sitemap
Microsoft und das Office-Logo sind Marken oder eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.
Geschützt durch Sectigo SSL