VBA - Text von Zelle B2 in Zelle A6 kopieren und fortlaufend
Hallo an alle.
Ich suche eine VBA Code in der ich in
einer Zelle B2 des Tabellenblattes1
einen Text eingebe und dieser Text dann
in Zelle A6 des gleichen Tabellenblattes
kopiert wird
Bei der nächsten Eingabe eines Textes
in die Zelle B2 soll dieser Text aber in die
anschließende Zelle kopiert werden also A7
Beim Datum hat dies schon funktioniert
anbei der Code. Leider weiß ich nicht
wie ich den Code von Datum auf Text umschreibe
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Datum As Date, Zeile As Long
Datum = Range("B2")
Zeile = Sheets("Tabelle1").Range("B65536").End(xlUp).Offset(1, 0).Row
If Target.Cells.Address = "$B$2" Then
Sheets("Tabelle1").Cells(Zeile, 1) = CDate(Datum)
End If
End Sub
Vielen Dank für Eure Hilfe
Antwort schreiben
Antwort 1 von Hajo_Zi vom 17.01.2021, 11:24 Options
Hallo Petro,
ersetze CDate(Datum) durch Range("B2")
alles mit Datum kann entfallen.
Gruß Hajo
Antwort 2 von pedrotornado vom 17.01.2021, 13:02 Options
Hallo Hajo,
vielen, vielen Dank für die schnelle Antwort.
Leider funktioniert das nicht wenn ich
CDate(Datum) durch Range("B2") ersetze
und alles was mit Datum zutun hat lösche.
Momentan schaut der code noch genauso wie oben folgendermaßen aus
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Datum As Date, Zeile As Long
Datum = Range("B2")
Zeile = Sheets("Tabelle1").Range("B65536").End(xlUp).Offset(1, 0).Row
If Target.Cells.Address = "$B$2" Then
Sheets("Tabelle1").Cells(Zeile, 2) = CDate(Datum)
End If
End Sub
1. das ich - dim datum as date- lösche verstehe ich noch da ich damit das datum erzeuge. aber was ist mit , zeile as long? gehört da nicht auch ein dim davor? oder kann ich das auch löschen?
2. wenn ich das datum bei - datum =range("B2") - dann muss ich doch irgentwas anderes vor =range("B2") setzten
Sorry für meine Fragen aber ich bin ein absoluter Anfänger, aber irgentwie will ich das auch verstehen und nicht einfach übernehmen.
Vielen Dank
Antwort 3 von nighty vom 17.01.2021, 13:05 Options
hi all
ein wenig korrigiert
einen cirkelbezug entfernt
ueberfluessige variablen entfernt
gruss nighty
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
With Sheets("Tabelle1")
If Target.Cells.Address = "$B$2" Then
.Cells(Sheets("Tabelle1").Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Row, 1) = Range("B2")
End If
Application.EnableEvents = True
End Sub