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

VBA - wenn Zelle A sich ändert, Kopiere Inhalt von B nach C

Forumthread: VBA - wenn Zelle A sich ändert, Kopiere Inhalt von B nach C

VBA - wenn Zelle A sich ändert, Kopiere Inhalt von B nach C
17.01.2020 13:33:20
B
Hallo,
versuche gerade einen Kopier-Befehl einzubauen, der immer dann greift, sobald sich ein bestimmter Zelleninhalt ändert:
Tabellenblatt 1 beinhaltet das Makro, da sich hier die zu überwachende Zelle in "B2" befindet. Auf Tabellenblatt 2 soll dann der Inhalt von Zelle "F2" in Zelle "E9" kopiert werden
Mein Makro-Versuch endet leider in einem Laufzeitfehler:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$B$2" Then
Sheets("Tabelle2").Select
Range("F2").Select
Selection.Copy
Range("E9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Tabelle1").Select
End If
End Sub

Was muss ich ändern?
Besten Dank!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - wenn Zelle A sich ändert, Kopiere Inhalt von B nach C
17.01.2020 13:52:59
B
Hi Markus
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$B$2" Then _
Sheets("Tabelle2").Range("E9") =  Sheets("Tabelle2").Range("F2")
End Sub
cu
Chris
AW: VBA - wenn Zelle A sich ändert, Kopiere Inhalt von B nach C
17.01.2020 15:39:25
B
Hallo Chris,
klappt wunderbar :)
Besten Dank für die rasche Antwort und ein schönes Wochenende!
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA: Inhalte bei Zellenänderung automatisch kopieren


Schritt-für-Schritt-Anleitung

Um den Inhalt von Zelle F2 auf Zelle E9 zu kopieren, wenn sich der Inhalt von Zelle B2 ändert, kannst Du folgendes VBA-Makro verwenden. Gehe dazu wie folgt vor:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Suche im Projekt-Explorer das entsprechende Tabellenblatt (z.B. „Tabelle1“) und doppelklicke darauf.

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

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
       If Target.Address = "$B$2" Then
           Sheets("Tabelle2").Range("E9") = Sheets("Tabelle2").Range("F2")
       End If
    End Sub
  4. Schließe den VBA-Editor und teste das Makro, indem Du den Inhalt von Zelle B2 änderst. Der Inhalt von F2 sollte automatisch nach E9 kopiert werden.


Häufige Fehler und Lösungen

Fehler: Laufzeitfehler beim Ausführen des Makros.
Lösung: Überprüfe, ob der Sheet-Name korrekt geschrieben ist. Stelle sicher, dass die Namen der Tabellenblätter exakt mit den im Code verwendeten übereinstimmen.

Fehler: Der Inhalt wird nicht kopiert.
Lösung: Achte darauf, dass das Makro im richtigen Arbeitsblatt eingebettet ist (in diesem Fall „Tabelle1“). Der Trigger funktioniert nur, wenn die Änderung in B2 erfolgt.


Alternative Methoden

Falls Du kein VBA verwenden möchtest, kannst Du auch die Excel-Funktion „=WENN“ nutzen. Setze in Zelle E9 folgende Formel ein:

=WENN(B2<>"";F2;"")

Diese Methode kopiert den Inhalt von F2 nach E9, wenn B2 nicht leer ist. Beachte, dass dies jedoch nicht bei jeder Änderung von B2 geschieht, sondern nur wenn der Wert nicht leer ist.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie das VBA-Makro in einem Arbeitsblatt aussieht:

  1. Tabellenblatt 1: Hier wird der Wert in B2 geändert.
  2. Tabellenblatt 2: Füge in F2 einen Wert ein (z.B. „Test“), und beobachte, wie dieser in E9 erscheint, wenn Du B2 änderst.

Tipps für Profis

  • Verwende Application.EnableEvents = False zu Beginn und Application.EnableEvents = True am Ende Deines Makros, um rekursive Aufrufe zu verhindern.
  • Teste Deine Makros in einer Kopie Deiner Arbeitsmappe, um sicherzustellen, dass Du keine ungewollten Datenverluste hast.
  • Halte Deine VBA-Code sauber und kommentiere komplexe Abschnitte, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um weitere Zellen zu überwachen?
Du kannst mehrere Zellen überwachen, indem Du weitere If-Bedingungen hinzufügst oder die Target-Range erweiterst.

2. Funktioniert das Makro auch in Excel für Mac?
Ja, das VBA-Makro funktioniert grundsätzlich auch in der Mac-Version von Excel, solange die VBA-Umgebung verfügbar ist. Achte jedoch darauf, dass die Menüführung leicht abweichen kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige