Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

wenn Eintrag in Zelle, dann Datum

wenn Eintrag in Zelle, dann Datum
05.03.2021 10:01:06
Marc-David
Hallo zusammen,
ich benutze die Formel
=WENN($A1=0;"";WENN(ODER(F1"";E1"";D1"";C1"");"";WENN($A1"";VERKETTEN("CW";" "; ISOKALENDERWOCHE(HEUTE());"")))) 
meine Idee war damit, wenn ich in Zelle 1 etwas schreibe erscheint die Kalenderwoche des Eintrags in der Zelle, wenn dann in F1, E1, D1 oder C1 etwas geschrieben wird, verschwindet diese.
Meine Frage ist aber, mit meiner Formel wird immer die aktuelle Kalenderwoche geschrieben oder? Nicht die zum Zeitpunkt des Eintrags. Also steht nächste Woche dann statt Kalenderwoche 9 Kalenderwoche 10 in der Zelle.
Kann man die Formel ändern, dass Kalenderwoche 9 stehen bleibt oder braucht man dafür ein Macro?
Viele Grüße
MD

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn Eintrag in Zelle, dann Datum
05.03.2021 10:13:18
Marc-David
Ein Zusatz noch, kann man das dann im Format "cw 09.21" ausgeben? Also Kalenderwoche 9 im Jahr 2021.
Besten Dank,
MD

AW: wenn Eintrag in Zelle, dann Datum
05.03.2021 10:29:06
Marc-David
Mit
=WENN($A17=0;"";WENN(ODER(F17"";E17"";D17"";C17"");"";WENN($A17"";VERKETTEN("CW";" "; ISOKALENDERWOCHE(HEUTE());" ";JAHR(HEUTE());"")))) 
generiere ich jetzt "cw 9 2021". Problem ists weiterhin aber noch, dass ich mit "heute()" arbeite, deswegen denke ich mal, dass sich die Kalenderwoche immer ändert?
Und kann ich dies dann eben als "cw 09.21" ausgeben? Oder beispielsweise "cw 21.21" wenn es die 21. Kalenderwoche von 2021 ist?
Viele Grüße
MD

Anzeige
AW: wenn Eintrag in Zelle, dann Datum
05.03.2021 10:52:53
Marc-David
Hallo zusammen,
also ich habe mal etwas rumprobiert und das mit der Ausgabe ausreichend hinbekommen. Bzw. festgestellt, dass ich auch mit "CW 9 2021" arbeiten kann.
Nur ist das Formelproblem mit "heute()" noch :)
Viele Grüße
MD

AW: wenn Eintrag in Zelle, dann Datum
05.03.2021 11:02:54
Rudi
Hallo,
wenn die Woche erhalten bleiben soll, brauchst du definitiv ein Makro (Worksheet_Change-Event).
Gruß
Rudi

AW: wenn Eintrag in Zelle, dann Datum
05.03.2021 11:13:14
Marc-David
Hallo Rudi,
danke sehr, dann lese ich mich mal zu dem Thema ein :)
Viele Grüße
MD

AW: wenn Eintrag in Zelle, dann Datum
05.03.2021 11:44:45
Marc-David
Hallo Rudi,
also mein
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Target.Value > "0" Then Range("B1").Value = Date
If Target.Value 
funktioniert schon mal.
Aber wenn ich es über mehrere Zellen machen möchte,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1:$A$20" Then
If Target.Value > "0" Then Range("B1:B20").Value = Date
If Target.Value 
#
kommt eine Fehlermeldung, geht das nicht so einfach?
Viele Grüße
MD

Anzeige
nein, so einfach geht das nicht
05.03.2021 13:36:39
Rudi
Hallo,
z.B.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge = 1 Then 'nur 1 Zelle geändert
Select Case Target.Column
Case 1  'A
If Target  "" Then
'Eintrag in B
Cells(Target.Row, 2) = _
"CW " & Format(WorksheetFunction.IsoWeekNum(Date), "00") & _
"." & Year(Date) Mod 2000
End If
Case 3 To 6 'C:F
If Application.CountA(Cells(Target.Row, 3).Resize(, 4)) Then  'Inhalt vorhanden
Cells(Target.Row, 2) = "" 'B löschen
End If
End Select
End If
End Sub
Gruß
Rudi

AW: nein, so einfach geht das nicht
05.03.2021 13:49:15
Marc-David
Hallo Rudi,
vielen Dank, eine Verständnisfrage hätte ich noch, was müsste ich ändern wenn ich erst in einer anderen Zeile als 1 anfangen würde?
Viele Grüße
MD

Anzeige
AW: nein, so einfach geht das nicht
05.03.2021 14:36:52
Werner
Hallo,
z.B. so:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 9 Then 'ab Zeile 10
If Target.CountLarge = 1 Then 'nur 1 Zelle geändert
Select Case Target.Column
Case 1  'A
If Target  "" Then
'Eintrag in B
Cells(Target.Row, 2) = _
"CW " & Format(WorksheetFunction.IsoWeekNum(Date), "00") & _
"." & Year(Date) Mod 2000
End If
Case 3 To 6 'C:F
If Application.CountA(Cells(Target.Row, 3).Resize(, 4)) Then
Cells(Target.Row, 2) = "" 'B löschen
End If
End Select
End If
End If
End Sub
Gruß Werner

AW: nein, so einfach geht das nicht
05.03.2021 14:53:31
Marc-David
Hallo Werner,
vielen Dank, das funktioniert super.
Bedanke mich und schönes Wochenende :)
Viele Grüße
MD

Anzeige
Gerne und Danke für die Rückmeldung. o.w.T.
05.03.2021 15:08:44
Werner

341 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige