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

Forumthread: Inhalt einer Zelle bei änderung in andere Tabelle

Inhalt einer Zelle bei änderung in andere Tabelle
Karl
Hallo zusammen
Ich habe da mal eine Frage. Ich möchte gerne eine Zelle überwachen, das heisst wenn sich der Inhalt verändert soll der alte Inhalt in ein anderes Tabellenblatt eingetragen werden. Nach mehreren Stunden Googeln habe ich zwar einige Lösungen per Makro gefunden, aber ich würde dieses gerne mit einer Formel bewerkstelligen wenn das überhaupt möglich ist.
Also in Sheet "neu" Zelle B3 soll der Inhalt nach Sheet "alt" in erste freie Zeile von A.
Ich hoffe mir kann jemand helfen. Vielen Dank im Vorraus.
Grüße Karl
Anzeige
AW: Inhalt einer Zelle bei änderung in andere Tabelle
23.12.2009 09:47:18
Tino
Hallo,
sollte mit diesem Code funktionieren.
kommt als Code in Tabelle: neu
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
If Not Intersect(Range("B3"), Target) Is Nothing Then 
 With Sheets("alt") 
    .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1) = Range("B3") 
 End With 
End If 
End Sub 
 

Gruß Tino
Anzeige
AW: Inhalt einer Zelle bei änderung in andere Tabelle
23.12.2009 13:48:48
Karl
Hallo Tino
Vielen Dank für die schnelle Antwort , Ich suche aber eine Formellösung für das Problem wenn das überhaupt möglich ist.
Trotzdem vielen Dank für die Antwort und ich lasse deshalb die Frage noch offen
Formel ist mir keine bekannt. oT.
23.12.2009 14:04:43
Tino
AW: Inhalt einer Zelle bei änderung in andere Tabelle
23.12.2009 17:55:46
Karl
Danke Tino vieleicht weissja jemand anderes eine Antwort oder Alternatieve
Anzeige
AW: Inhalt einer Zelle bei änderung in andere Tabelle
23.12.2009 20:36:07
F1
Formeln können nichts schreiben.
F1

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zelle überwachen und Inhalte in anderes Tabellenblatt übertragen


Schritt-für-Schritt-Anleitung

Um eine Zelle in Excel zu überwachen und den Inhalt bei einer Änderung in ein anderes Tabellenblatt zu übertragen, benötigst du ein einfaches VBA-Makro. Leider können Formeln in Excel nicht direkt Werte in andere Zellen schreiben. Hier ist die Schritt-für-Schritt-Anleitung:

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

  2. Suche im Projektfenster nach dem Tabellenblatt „neu“.

  3. Doppelklicke auf das Tabellenblatt „neu“.

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

    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Range("B3"), Target) Is Nothing Then
            With Sheets("alt")
                .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1) = Range("B3")
            End With
        End If
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zur Excel-Datei.

  6. Teste die Funktion, indem du den Inhalt von Zelle B3 änderst. Der alte Wert sollte nun in die erste freie Zeile von Spalte A im Tabellenblatt „alt“ übertragen werden.


Häufige Fehler und Lösungen

  • Fehler: Der VBA-Code wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass Makros in deinen Excel-Einstellungen aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Einstellungen für Makros und aktiviere die Optionen für die Ausführung von Makros.
  • Fehler: Die Daten werden nicht korrekt übertragen.

    • Lösung: Überprüfe den Namen des Tabellenblatts „alt“. Der Name muss exakt übereinstimmen, einschließlich Groß- und Kleinschreibung.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, gibt es einige alternative Methoden:

  • Manuelles Kopieren: Du kannst den Inhalt manuell kopieren, wenn du eine Änderung in der Zelle feststellst.
  • Power Query: Power Query kann verwendet werden, um Daten aus verschiedenen Tabellen zu kombinieren, jedoch ist dies nicht automatisiert bei einer Zellenänderung.

Praktische Beispiele

Angenommen, du hast in deinem Workbook zwei Tabellenblätter: „neu“ und „alt“. Wenn du in „neu“ die Zelle B3 änderst, wird der alte Inhalt in die nächste freie Zeile von Spalte A in „alt“ geschrieben.

Falls du beispielsweise „Test“ in Zelle B3 eingegeben hast und dann „Test2“, wird „Test“ in die nächste freie Zeile von Spalte A in „alt“ übertragen.


Tipps für Profis

  • Zellüberwachung erweitern: Du kannst den Code anpassen, um mehrere Zellen zu überwachen. Ändere Range("B3") zu Union(Range("B3"), Range("C3")), um auch C3 zu überwachen.
  • Datenschutz: Achte darauf, dass das Makro nur in vertrauenswürdigen Dateien verwendet wird, da es Daten manipuliert.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in dein Makro ein, um unerwartete Fehler zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich auch mehrere Zellen überwachen?
Ja, du kannst die Zellen, die überwacht werden sollen, im VBA-Code anpassen, indem du mehrere Zellen in der Intersect-Funktion angibst.

2. Funktioniert diese Methode in Excel Online?
Nein, VBA-Makros funktionieren nicht in Excel Online. Du musst Excel Desktop verwenden.

3. Gibt es eine Möglichkeit, dies ohne VBA zu machen?
Leider ist es ohne VBA nicht möglich, Werte bei einer Änderung automatisch in eine andere Tabelle zu schreiben. Formeln in Excel können nur Werte berechnen und nicht schreiben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige