Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Aktuelles Tagesdatum automatisch nach Zelländerung

Aktuelles Tagesdatum automatisch nach Zelländerung
03.11.2004 17:52:21
Jürgen
Hallo Forumskollegen,
ich stehe vor einem kleinen Problem und habe es jetzt seit 1 Stunde nicht gelöst bekommen, vielleicht ist es effizienter Euch mal zu fragen.
Folgender Sachverhalt:
Ich habe eine Tabelle in der per Worksheet_Change Makro automatisch nach der Eingabe in Zelle A1 in Zelle C1 das aktuelle Tagesdatum eingetragen werden soll. Da ich nicht möchte, dass dieses Datum ständig aktualisiert wird, fällt =Heute() schonmal weg. Ich habe es per VBA Makro versucht (mit dem Befehl "Date") und bekomme das auch für diesen einen Fall hin.
Ich möchte dies aber nun für alle Zellen von A1 bis A100 aktivieren, sprich: Wenn nun A2 geändert wird, soll in C2 das aktuelle Tagesdatum stehen ... Wenn A3 geändert wird, soll in C3 das aktuelle Tagesdatum stehen ...
Die Auto-Eintragung sollte aber schnell gehen und es nicht erst durch eine If-Schleife erstmal alle 100 Zellen abgeprüft werden.
Ich denke das ist möglich nur komme ich irgendwie heute nicht auf die richtige und komfortable Lösung.
Wäre nett wenn mir einer von Euch helfen könnte.
Vielen Dank schonmal und beste Grüße
Jürgen Stuhlträger
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aktuelles Tagesdatum automatisch nach Zelländerung
03.11.2004 17:56:17
Hajo_Zi
Hallo Jürgen,
bei VBA Gut bekommst Du folgendes Makro angepast.

Private Sub Worksheet_Change(ByVal Target As Range)
'   erstellt von Hajo.Ziplies@web.de 19.07.03, 30.10.03
' <a href="http://home.media-n.de/ziplies/">http://home.media-n.de/ziplies/</a>
'   HINTERGRUND
'   für Schrift RaZelle.Font.ColorIndex
Dim RaBereich As Range, RaZelle As Range
' Bereich der Wirksamkeit
Set RaBereich = Range("B3:C35, D1:D7")
'   noch mehr Bereiche
'    Set RaBereich = Union(Range("C7:I26"), Range("L7:R26"), Range("U7:AA26"), Range("AD7:AJ26"))
'    ActiveSheet.Unprotect ("Passwort")
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
If IsDate(RaZelle.Text) Then
'               Ansatz von Uwe Küstner
'               Zuordnung der Farbwerte (1 bis 56) zu den Stunden (0 bis 23)
'                RaZelle.Interior.ColorIndex = Choose(Hour(RaZelle.Value) + 1, _
'                    , 3, 4, 5, 6, 7, 8, 9, 10, 55, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 40)
'               Farbe automatisch
If Hour(RaZelle) < 24 Then
RaZelle.Interior.ColorIndex = Hour(RaZelle) + 3
Else
RaZelle.Interior.ColorIndex = 26
End If
End If
End If
Next RaZelle
'    ActiveSheet.protect ("Passwort")
Set RaBereich = Nothing
End Sub

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
? *g, welche Anfrage meinst du Hajo?:-) o.w.T
Reinhard
AW: ? Change nur in bestimmten Bereich
03.11.2004 18:42:53
Hajo_Zi
Hallo Reinhard,
es ging darum das sein Change Ereigis nur in einem bestimmten Bereich gelten soll. Und bei VBA Gut kann er sich den Code umarbeiten.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
O.T. m T.
Reinhard
Hallo Hajo,
ja, das hattest du ja auch geschrieben, aber ich sah nur dass es da um Farben ging und dachte du hättest den falschen Code erwischt:-)
Gruß
Reinhard
AW: ? *g, welche Anfrage meinst du Hajo?:-) o.w.T
03.11.2004 20:03:17
Jürgen
Alles klar danke Jungs, ich werde mich morgen mal drum kümmern, jetzt habe ich schon zuviel Alk getrunkekn dafür ;-) Kleines Festchen im Büro ...
Ich werd' dann mal berichten ob ich wirklich so gut bin in VBA ...
Besten Dank.
Jürgen
Anzeige
AW: Aktuelles Tagesdatum automatisch nach Zelländerung
04.11.2004 11:00:35
Jürgen
Also ich bin doch ganz gut ;-)
Bin zwar mit deinem Code nicht so wirklich klar gekommen, aber folgender Code hat dann doch zum gewünschten Ergebnis geführt:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
For i = 2 To 100
If Cells(i, 1) > 0 And Cells(i + 1, 1) = "" Then
Cells(i, 10).Value = Date
If Cells(i + 1, 1) = "" Then Exit Sub
End If
Next i
End Sub

Wer auch so was braucht kann ja in angehängter Datei mal reingucken. Mit Blattschutz und Ausblendungen kann man dann nicht mehr viel falsch machen.
https://www.herber.de/bbs/user/12966.xls
Schönen Tag noch und danke für die Tips ...
Jürgen
Anzeige
AW: Aktuelles Tagesdatum automatisch nach Zelländerung
Ulf

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
Target.Offset(0, 2) = Date
End If
End Sub

Ulf
AW: Aktuelles Tagesdatum automatisch nach Zelländerung
04.11.2004 11:10:06
Jürgen
HI Ulf,
ich habe eben erst Deinen Code entdeckt, da die antwort sich ganz unten eingereiht hatte ... Super, der ist schneller und komfortabler als meiner. Danke! Bin ich wohl doch nicht so gut ... ;-)
Grüße
Jürgen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige