Erst mal lieben Dank für die schnelle Antwort.
Allerdings habe ich keine Ahnung von VBA. Kannst Du mir vielleicht kurz erklären, was dein Makro so macht und wie ich es dann anpassen müsste?
Ich hoffe, das ist nicht zuviel verlangt
Ciao
Kirsten
Das Makro schreibt dir, wenn du etwas in Spalte A schreibst, die Formel in Spalte C.
Worksheet_Change bedeutet, dass etwas passiert wenn irgendetwas auf dem Arbeitsblatt geändert wird. Da aber nur etwas passieren soll, wenn das Datum in Spalte A geändert wird, schränke ich das Ergeignis erst einmal auf Spalte A ein.
If Target.Column = 1 Then
Also nur wenn die angeklickte Zelle (=target) sich in Spalte 1 befindet dann:
Cells(Target.Row, 3)
cells wählt eine Zelle auf dem Arbeitsblatt aus. Als erstes kommt die Zeile dann die Spalte. target.row gibt die Nummer der angeklickten Zelle aus, 3 ist die Spalte C
Formula = "=if(isnumber(A" & Target.Row & "),day(A" & Target.Row & "),"""")"
.Formula heisst trage in diese Zelle folgende Formel ein.
Dann folgt die Formel mit Englischen Formelnamen. Damit sich die Zeilennummer anpasst verwende ich wieder den Befehl target.row
1.) Mit Alt-F11 zur Entwicklungsumgebung wechseln.
2.) Links im Projektexplorer dein Arbeitsblatt doppelklicken und den Code einfügen.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then
i = Target.Row
Select Case IsEmpty(Target.Value)
Case False
Cells(i, 2).FormulaR1C1 = "=IF(RC[-1]=0,"""",INT((RC[-1]-DATE(YEAR(RC[-1]),1,1)+WEEKDAY(DATE(YEAR(RC[-1]),1,1),3))/7)+IF(WEEKDAY(DATE(YEAR(RC[-1]),1,1),3)<4,1,0))"
Cells(i, 3).FormulaR1C1 = "=IF(ISNUMBER(RC[-2]),DAY(RC[-2]),"""")"
Cells(i, 4).FormulaR1C1 = "=IF(ISNUMBER(RC[-3]),MONTH(RC[-3]),"""")"
Cells(i, 5).FormulaR1C1 = "=IF(ISNUMBER(RC[-4]),YEAR(RC[-4]),"""")"
Case True
Range("B" & i & ":E" & i).ClearContents
End Select
End If
End Sub
Gruß Uwe
Wow! Dein Makro funktioniert super! Und wenn ich mich gaaaaanz doll anstrenge, kann ich es sogar halbwegs nachvollziehen (liegt sicherlich an der ausführlichen Erklärung von Folker zu seinem Makro).
Damit hast Du mir wirklich sehr geholfen. Vielen Dank.
Jetzt gibt es nur noch ein kleines Problem. Das Tabellenblatt ist normalerweise geschützt (soll auch über ein Makro erfolgen; funktioniert aber auch noch nicht wirklich). Leider streikt dann dein Makro. Kann ich das noch anpassen?
Gruss
Kirsten
lieben Dank für diese ausführliche Erklärung!
Bin leider kein Trockenschwimmer und kann eigentlich nur auf diesem Wege lernen, wie Makros überhaupt funktionieren.
Für Profis sicherlich etwas lästig?!? Darum danke ich Dir um so mehr.
Tööös
Kirsten
Lieben Dank noch mal.
Kirsten