Verwenden von Rundschreiben zu unserem Vorteil - Excel-Tipps

Inhaltsverzeichnis

Michelle fragt:

Ich glaube, ich bin mit einem Zirkelverweis auf dem richtigen Weg. Hier ist mein Problem. Ich habe zwei Zellen A1=5und B1=5. Ich möchte, dass B1 5 auswendig lernt und dann A1 einen neuen Wert hinzufügt. Sagen wir, A1 ist jetzt gleich 10. Kann ich eine B1-Formel haben, die 5 auswendig lernt, aber auch 10 hinzufügt? Also jetzt B1=15?

Normalerweise sind Zirkelverweise eine schlechte Sache, aber manchmal können sie zu unserem Vorteil genutzt werden. Hier ist die nicht makroökonomische Methode, um das zu tun, was Sie tun möchten. Es wird nur in bestimmten Situationen funktionieren.

  • Wählen Sie im Excel-Menü Extras> Optionen.
  • Gehen Sie zur Registerkarte Berechnung. Aktivieren Sie das Kontrollkästchen für Iterationen. Ändern Sie die maximale Iteration auf 1.
  • Klicken Sie auf OK, um das Optionsdialogfeld zu schließen.
  • Geben Sie 5 in Zelle A1 ein.
  • Geben Sie 0 in Zelle B1 ein
  • Geben Sie =A1+B1in Zelle B1 ein
  • Wenn Sie nun neue Werte in A1 eingeben, speichert der Eintrag in B1 die alte Summe und addiert den Wert aus A1.

Hier ist die riesige Einschränkung. Sie können an keiner anderen Stelle auf dem Blatt Werte eingeben! Jedes Mal, wenn Sie einen Wert eingeben oder das Blatt neu berechnet wird, wird der Wert in A1 zum Wert in B1 addiert. Wenn Sie also ein paar Mal F9 drücken, sehen Sie, wie B1 für jedes F9 um 5 erhöht wird.

Der sicherere Weg, dies zu tun, ist mit einem kleinen Event-Handler-Makro. Sie müssen diesen Code zum Codebereich für Sheet1 hinzufügen (vorausgesetzt, Sie arbeiten an Sheet1). Der Ereignishandlercode lautet wie folgt:

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = “$A$1” Then Application.EnableEvents = False Range(“B1”).Value = Range(“B1”).Value + Target.Value Application.EnableEvents = True End If End Sub

Dieses Codebit wird jedes Mal ausgeführt, wenn eine Zelle auf dem Blatt geändert wird. Ziel ist eine spezielle Objektvariable, die angibt, welche Zelle geändert wurde. Der Ereignishandler überprüft, welche Zelle gerade geändert wurde. Wenn die Zelle A1 war, addiert sie den Wert in A1 zu B1. Wir müssen Event-Handler deaktivieren, während wir B1 ändern, damit sich der Event-Handler nicht erneut aufruft.

Interessante Beiträge...