ich möchte in einem Macro, das Tabelle1 einer Excel-Datei hinterlegt ist, "Target.Address" mit einer Zelle in einer anderen Tabelle (z.B. Tabelle2) verknüpfen. Wie geht das?
Danke
fiete
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Tabelle2").Range(Target.Address) = Target
End Sub
Um in einem Excel-Makro "Target.Address" zu verwenden und auf eine Zelle in einer anderen Tabelle zu verweisen, kannst Du folgenden VBA-Code verwenden:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Tabelle2").Range(Target.Address) = Target
End Sub
ALT + F11, um den VBA-Editor zu öffnen.Problem: Das Makro funktioniert nicht nach einer Änderung des Tabellennamens.
Sheets("Tabelle2") entsprechend dem neuen Tabellennamen anpasst. Der Name muss genau dem entsprechen, der im Arbeitsblatt angezeigt wird.Problem: Fehlermeldung beim Ausführen des Codes.
Wenn Du eine andere Herangehensweise bevorzugst, kannst Du auch die INDIREKT-Funktion verwenden, um dynamisch auf Zellen in anderen Tabellen zuzugreifen. Hier ein Beispiel:
=INDIREKT("Tabelle2!" & A1)
Diese Methode ist nützlich, wenn Du auf Zellen in anderen Tabellen zugreifen möchtest, ohne VBA zu verwenden.
Beispiel 1: Kopiere den Inhalt von Zelle A1 in Tabelle1 nach Zelle B1 in Tabelle2:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Tabelle2").Range("B1") = Sheets("Tabelle1").Range("A1")
End Sub
Beispiel 2: Übertrage den Wert aus Tabelle1 nach Tabelle2, wenn eine bestimmte Bedingung erfüllt ist:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Value > 10 Then
Sheets("Tabelle2").Range(Target.Address) = Target
End If
End Sub
Nutze die With-Anweisung für besseren Code und um die Lesbarkeit zu erhöhen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheets("Tabelle2")
.Range(Target.Address) = Target
End With
End Sub
Füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass Dein Makro robust ist. Beispiel:
On Error Resume Next
Sheets("Tabelle2").Range(Target.Address) = Target
On Error GoTo 0
1. Frage
Was passiert, wenn die Tabellen umbenannt werden?
Antwort: Du musst den Tabellennamen im VBA-Code entsprechend anpassen, damit das Makro weiterhin funktioniert.
2. Frage
Kann ich mehrere Zellen gleichzeitig übertragen?
Antwort: Ja, Du kannst die Range-Objekte so anpassen, dass sie mehrere Zellen umfassen. Achte darauf, dass die Zielzellen in der anderen Tabelle ebenfalls korrekt definiert sind.