![]() |
VBA für Anfänger, findet jemand den Fehler im Code
Hallo,
ich erstelle gerade eine Exceltabelle. Wenn ich einen Eintrag in Spalte B mache, dann soll in der selben Zeile in Spalte A das jetzige Datum eingetragen werden. Halt wie bei Access. Ich hab schon mal geguckt, werd aber aus dem Quellcode der Experten nicht schlau. Leider funktioniert er auch nicht. Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Column = 1 And Target.Value <> 0 Then Target.Offset(0, 1).Value = Now End If End Sub Woher soll Excel wissen was die Target Column ist ? Wisst ihr da weiter. Könnt ihr den Quellcode so modifizieren, dass er auf Anhieb funktioniert ? |
Nunja ich kenn mich mit VBA nicht sonderlich aus, allerdings denke ich dass das Sub "Worksheet_Change" aufgerufen wird, wenn mit sich eine Zeile verändert. Target wird dabei sozusagen als eine Variable vom Typ "Excel.Range" mitgesendet und ist die Zeile die geändert wurde.
Der Fehler, liegt vermutlich darin, dass die If Anweisung nur 1 als Spalte zulässt. Also das funktionierende Programm sollte also so aussehen: Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) |
Das mit dem einser passt schon so, es geht ja um spalte B (also 1, 0 ist A, 2 ist B, usw).
Meine Frage: Möchtest du das programm gleichzeitig laufen lassen, während du etwas in eine excel-tabelle tippst? |
Hi,
geht auch ohne VBA: In der Zelle A1 =WENN(B1="";"";HEUTE()) Die Zelle A1 mus dann nur noch ein Datumformat bekommen. Gruß Jim-Sonic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:09 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.