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

Formel, um Wert in einer anderen Zellen zu ändern?

Forumthread: Formel, um Wert in einer anderen Zellen zu ändern?

Formel, um Wert in einer anderen Zellen zu ändern?
22.05.2003 11:40:35
Gabriel
Hallo,
ich möchte mit einer WENN-Funktion den Wert einer anderen Zelle ändern. Geht das grundsätzlich?
Warum ich die Funktion nicht einfach in die betreffende Zelle schreibe? Sie ist mit einem Dropdown-Feld verknüpft. Die Auswahl des Dropdown-Felds soll auf eine Standard-Auswahl zurückgesetzt werden, wenn in bestimmten Zellen Eingaben gemacht werden.
Danke für jede Hilfe! :-)
Gabriel


Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Formel, um Wert in einer anderen Zellen zu ändern?
22.05.2003 11:44:09
Knut

Das geht mit Formeln nicht. Du kannst das mit VBA über SheetChange oder sheetCalculate erreichen.
Knut

Re: Formel, um Wert in einer anderen Zellen zu änd
22.05.2003 11:56:02
Gabriel

Hm, schade.
An SheetChange/Calculate dachte ich auch, aber ich muss gezielt bestimmte Zellen abfrage. Dafür hab ich bisher noch kein Ereignis gefunden. Aber eigentlich kann es fast nicht sein, dass es da kein Ereignis gibt?

Anzeige
Lösung mit Worksheet_Change
22.05.2003 12:35:29
Martin Beck

Hallo Gabriel,

nachfolgend ein Beispiel. Der Wert in Zelle D5 wird immer dann auf 123 gesetzt, wenn der Inhalt von A1, B2 oder C3 geändert wird.

Gruß
Martin Beck

Re: Lösung mit Worksheet_Change
23.05.2003 10:48:24
Gabriel

Hi Martin, vielen Dank für das Beispiel!
Genau das brauchte ich! :-)

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Werte in einer anderen Zelle mit Excel ändern


Schritt-für-Schritt-Anleitung

Um den Wert einer Zelle basierend auf einer Änderung in einer anderen Zelle zu ändern, kannst du die VBA-Funktion Worksheet_Change nutzen. Hier ist eine Schritt-für-Schritt-Anleitung:

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

  2. Wähle im Projekt-Explorer das entsprechende Arbeitsblatt aus, in dem du die Änderung vornehmen möchtest.

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

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Not Intersect(Target, Me.Range("A1,B2,C3")) Is Nothing Then
           Me.Range("D5").Value = 123
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu deiner Excel-Tabelle zurück.

  5. Ändere den Wert in einer der Zellen A1, B2 oder C3. Der Wert in D5 sollte sich automatisch auf 123 ändern.


Häufige Fehler und Lösungen

1. Fehler: Der Code funktioniert nicht.
Lösung: Stelle sicher, dass der Code im richtigen Arbeitsblatt-Modul eingefügt wurde und dass Makros in deiner Excel-Version aktiviert sind.

2. Fehler: Die Zelle D5 ändert sich nicht, wenn ich die Zellen A1, B2 oder C3 ändere.
Lösung: Überprüfe, ob du die richtigen Zellreferenzen in der Intersect-Funktion angegeben hast.


Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, kannst du auch die WENN-Funktion nutzen, um Werte in einer Zelle basierend auf anderen Zellen zu ändern. Allerdings ist dies nur möglich, wenn du die Formel in der Zelle eingibst, die du ändern möchtest.

Ein Beispiel könnte so aussehen:

=IF(OR(A1="", B2="", C3=""), "Standardwert", 123)

Diese Formel setzt den Wert auf „Standardwert“, wenn eine der Zellen leer ist.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Worksheet_Change-Funktion nutzen kannst:

  • Beispiel 1: Wenn du eine bestimmte Zelle (z.B. E5) auf einen Wert setzen möchtest, wenn der Wert in einer Dropdown-Liste geändert wird:

    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Me.Range("F1")) Is Nothing Then
          Me.Range("E5").Value = "Neue Auswahl"
      End If
    End Sub
  • Beispiel 2: Um mehrere Zellen gleichzeitig zu prüfen und unterschiedliche Werte zu setzen:

    Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Me.Range("G1")) Is Nothing Then
          If Target.Value = "Option1" Then
              Me.Range("H1").Value = "Ergebnis 1"
          ElseIf Target.Value = "Option2" Then
              Me.Range("H1").Value = "Ergebnis 2"
          End If
      End If
    End Sub

Tipps für Profis

  • Effizienz: Halte den Code in der Worksheet_Change-Funktion so schlank wie möglich, um die Reaktionsgeschwindigkeit zu erhöhen.
  • Fehlerbehandlung: Füge Fehlerbehandlungsmechanismen hinzu, um unerwartete Probleme zu vermeiden.
  • Dokumentation: Kommentiere deinen Code, damit du und andere Benutzer später verstehen, was jede Zeile bewirken soll.

FAQ: Häufige Fragen

1. Kann ich die Worksheet_Change-Funktion in Excel Online verwenden?
Leider ist VBA nicht in Excel Online verfügbar. Du kannst diese Funktion nur in der Desktop-Version von Excel verwenden.

2. Was mache ich, wenn ich mehrere Zellen überwachen möchte?
Du kannst die Intersect-Funktion erweitern, indem du weitere Zellreferenzen hinzufügst, wie im Beispiel oben gezeigt.

3. Wie kann ich sicherstellen, dass mein VBA-Code sicher ist?
Verwende immer vertrauenswürdige Quellen für VBA-Codes und teste sie in einer sicheren Umgebung, bevor du sie in wichtigen Projekten anwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige