Zieladresse in Excel VBA um zwei Spalten verschieben
Schritt-für-Schritt-Anleitung
Um die Zieladresse in Excel VBA um zwei Spalten nach rechts zu versetzen, kannst du den folgenden Code verwenden. Dieser Code wird in das Worksheet_Change-Ereignis eingefügt und aktualisiert die Zieladresse entsprechend:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Select Case Target.Column
Case 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
Sheets("Tabelle2").Range(Target.Address).Offset(0, 2).Value = _
Application.UserName & " - " & Date
Case Else
End Select
Application.EnableEvents = True
End Sub
In diesem Beispiel wird die Target.Address verwendet, und durch die Methode Offset(0, 2) wird die Adresse um zwei Spalten nach rechts verschoben. Achte darauf, dass du das Application.EnableEvents korrekt einstellst, um eine Endlosschleife zu vermeiden.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Möglichkeit, um die Zieladresse zu aktualisieren, ist die Verwendung von Target.Offset anstelle von Target.Address. Hier ein Beispiel:
Sheets("Tabelle2").Range(Target.Offset(0, 2).Address).Value = Application.UserName & " - " & Date
Diese Methode funktioniert ähnlich, jedoch wird direkt die Offset-Adresse verwendet, um die Zelle zu bestimmen.
Praktische Beispiele
Hier sind einige Beispiele, die dir bei der Implementierung helfen könnten:
-
Eintrag in derselben Tabelle:
Wenn du den Infoeintrag in der gleichen Tabelle machen möchtest, kannst du einfach Target.Offset(0, 2) verwenden, um die Adresse zwei Spalten weiter zu verschieben.
-
Zieladresse in einer anderen Tabelle:
Verwende den Code oben, um die Zieladresse in Tabelle2 zu aktualisieren. Achte darauf, dass du die Zielspalte anpasst.
Tipps für Profis
- Verwende benannte Bereiche: Wenn du oft mit Zieladressen arbeitest, erwäge die Verwendung von benannten Bereichen, um den Code lesbarer zu machen.
- Debugging: Nutze
Debug.Print oder MsgBox, um den Inhalt von Target.Address und Target.Offset während der Entwicklung zu überprüfen.
- Code-Kommentare: Kommentiere deinen Code, um zukünftige Änderungen zu erleichtern und die Verständlichkeit zu erhöhen.
FAQ: Häufige Fragen
1. Wie kann ich die Zieladresse um mehr als zwei Spalten verschieben?
Du kannst die Zahl in der Offset-Methode anpassen. Beispiel: Offset(0, 3) verschiebt die Adresse um drei Spalten.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, dieser VBA-Code sollte in allen aktuellen Excel-Versionen funktionieren, solange die VBA-Programmierung unterstützt wird.