Tipp: Andere Sprachen sind Google-Übersetzungen. Sie können die English Version dieses Links.
Einloggen
x
or
x
x
Registrieren
x

or

Wie führe ich ein Makro automatisch aus, wenn sich das Ergebnis der Zellenformel ändert?

Angenommen, ich habe eine Liste von Formeln basierend auf den Daten in Spalte A und Spalte B wie im folgenden Screenshot gezeigt, jetzt möchte ich einen spezifischen Makrocode automatisch ausführen, wenn sich das Formelergebnis mit den relativen Zellen ändert. Gibt es eine gute Idee, diesen Job in Excel zu lösen?

Führen Sie das Makro automatisch aus, wenn sich das Ergebnis der Zellenformel mit VBA-Code ändert


Führen Sie das Makro automatisch aus, wenn sich das Ergebnis der Zellenformel mit VBA-Code ändert


Der folgende VBA-Code kann Ihnen helfen, einen bestimmten Code automatisch auszuführen, wenn sich die Formula-Ergebniszelle ändert. Bitte tun Sie dies wie folgt:

1. Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte, die Sie verwenden möchten, und wählen Sie dann Code anzeigen aus dem Kontextmenü, in der geöffneten Microsoft Visual Basic für Anwendungen Fenster kopieren und fügen Sie den folgenden Code in das leere Modul ein:

VBA-Code: Automatisches Ausführen eines Makros, wenn sich das Zellenformelergebnis ändert:

Private Sub Worksheet_Calculate()
'Updateby Extendoffice
    Dim Xrg As Range
    Set Xrg = Range("C2:C8")
    If Not Intersect(Xrg, Range("C2:C8")) Is Nothing Then
    Macro1
    End If
End Sub

Text: In dem obigen Code, C2: C8 ist der Bereich der Formelzellen, die Sie verwenden möchten,maco1 ist der Name des Makros, das automatisch ausgeführt werden soll. Bitte ändern Sie es nach Ihren Bedürfnissen.

2. Dann speichern und schließen Sie dieses Codefenster. Wenn sich nun die Daten im Bereich A2: B8 ändern und das Formelergebnis ändert, wird Ihr spezifischer Makrocode sofort ausgelöst.


Kutools for Excel - Das beste Office-Produktivitäts-Tool Steigern Sie Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einlegen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formula Bar (Bearbeiten Sie mühelos mehrere Textzeilen und Formeln); 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 der Zellen teilen; 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; Zufallsauswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen auf mehrere Blätter; Bullets einfügen, Kontrollkästchen und mehr ...
  • Extract Text, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen; Erstellen und Drucken von Paging-Zwischensummen; Zwischen Zelleninhalt und Kommentaren konvertieren...
  • Superfilter (Speichere und wende Filterschemata auf andere Blätter an); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Arbeitsmappen und Arbeitsblätter kombinieren; Zusammenführen von Tabellen basierend auf Schlüsselspalten; Daten in mehrere Blätter aufteilen; Stapelkonvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2019 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. Kostenlose 60-Testversion für alle Funktionen.
Registerkarte Tab 201905

Registerkarte "Office" Bringt die Benutzeroberfläche mit Registerkarten in Office und vereinfacht Ihre 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 täglich Hunderte von Mausklicks für Sie!
officetab unten
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    shan · 20 days ago
    sorry it dosn't work it works if i put data manually. but i want to work it automatically bcz my data is updating by rand calcaulate
  • To post as a guest, your comment is unpublished.
    Cenk · 11 months ago
    So, what is my macro name. where can i find my macro name?
    • To post as a guest, your comment is unpublished.
      skyyang · 11 months ago
      Hello, Cenk,
      The macro name is the macro code you have inserted into the Excel file, and you just need to change the Macro1 in the above code to your own.
      For example, i insert a code here, and the macro name is: ColorCompanyDuplicates

      Sub ColorCompanyDuplicates()
      'Updateby Extendoffice 20160704
      Dim xRg As Range
      Dim xTxt As String
      Dim xCell As Range
      Dim xChar As String
      Dim xCellPre As Range
      Dim xCIndex As Long
      Dim xCol As Collection
      Dim I As Long
      On Error Resume Next
      If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
      Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
      End If
      Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
      If xRg Is Nothing Then Exit Sub
      xCIndex = 2
      Set xCol = New Collection
      For Each xCell In xRg
      On Error Resume Next
      xCol.Add xCell, xCell.Text
      If Err.Number = 457 Then
      xCIndex = xCIndex + 1
      Set xCellPre = xCol(xCell.Text)
      If xCellPre.Interior.ColorIndex = xlNone Then xCellPre.Interior.ColorIndex = xCIndex
      xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
      ElseIf Err.Number = 9 Then
      MsgBox "Too many duplicate companies!", vbCritical, "Kutools for Excel"
      Exit Sub
      End If
      On Error GoTo 0
      Next
      End Sub
  • To post as a guest, your comment is unpublished.
    Tommy · 1 years ago
    What's the point of the condition? It'll always return true...in other words: it'll run without it. This also runs whenever any cells on the sheet change value.
  • To post as a guest, your comment is unpublished.
    Varun · 1 years ago
    Thanks a lot! This really helped me out.
    Is there any method to retrieve the address of the changed cell (with formula i.e Column C in this example).
    Thanks.