Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Änderungsdatum in Zeile

Änderungsdatum in Zeile
15.10.2005 15:18:26
Heribert
Hallo Excel Gemeinde,
ich möchte wenn innherhalb einer Zeile eine Zelle geändert wird,
das Änderungsdatum/Uhrzeit am Ende der jeweiligen Zeile(Bereiches)
setzen.
In der Recherche habe ich ein Makro gefunden, welches ungefähr
diese Aufgabe erledigt. Allerdings arbeitet dieses Makro
ZELLENweise und schreibt das Datum oberhalb der geänderten Zelle.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim RaBereich As Range, RaZelle As Range
Set RaBereich = Range("C14:Z14") 'Bereich anpassen
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then RaZelle.Offset(-1, 0) = Date
Next RaZelle
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub

Wahrscheinlich müssen nur geringe Änderungen im Makro vorgenommen werden.
Könnte mir hierbei einer von euch helfen?Bei VBA schwächele ich doch ein wenig.
Beispielmappe anbei
https://www.herber.de/bbs/user/27528.xls
Dankeschön im voraus
Gruss Heribert

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Änderungsdatum in Zeile
15.10.2005 18:34:30
Worti
Hallo Heribert,
was hälst du hiervon?


      
Private Sub Worksheet_Change(ByVal Target As Range)
     Application.EnableEvents = 
False
     Cells(Target.Row, Cells(Target.Row, Columns.Count).End(xlToLeft).Column + 1).Value = Now
     Columns(Cells(Target.Row, Columns.Count).End(xlToLeft).Column).AutoFit
     Application.EnableEvents = 
True
     
End Sub
 


Gruß Worti
Anzeige
AW: Änderungsdatum in Zeile
15.10.2005 19:04:47
Heribert
Hallo Worti,
prima, das funktioniert.
Könnte man die Zelle bzw die Spalte wo das Datum eingetragen wird
auch von vornherein festlegen, zB Spalte H, in jeder Zeile ?
Dankeschön und Gruss
Heribert
AW: Änderungsdatum in Zeile
15.10.2005 19:46:22
Worti
Hallo Heribert,
wenn es immer in Spalte H soll, reicht schon:


      
Private Sub Worksheet_Change(ByVal Target As Range)
     Application.EnableEvents = 
False
     Cells(Target.Row, 8).Value = Now
     
'Columns(8).Column).AutoFit
     Application.EnableEvents = True
     
End Sub
 


Gruß Worti
Anzeige
AW: Änderungsdatum in Zeile
15.10.2005 19:51:38
Heribert
Hallo worti
wir hatten wohl beide gleichzeitig gepostet.
Habe dein letztes makro erfolgreich übernommen.
Klasse, dir und auch hilbman meinen Dank
Gruss
Heribert
AW: Änderungsdatum in Zeile
15.10.2005 19:08:06
Hilbman
Hallo Heribert und Worti
besser so:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim spalte As Integer
spalte = Cells(1, Columns.Count).End(xlToLeft).Column
Application.EnableEvents = False
Cells(Target.Row, spalte).Value = Now
Columns(Cells(Target.Row, Columns.Count).End(xlToLeft).Column).AutoFit
Application.EnableEvents = True
End Sub

Das Datum soll ja in die letzte Spalte (hier spalte E)
gruß Hilbman
Anzeige
AW: Änderungsdatum in Zeile
15.10.2005 19:39:20
Heribert
Hallo an euch beide (und auch ans Forum),
ja, auch das Makro von Hilbman funktioniert.Jetzt wird das Änderungsdatum in nur
einer Spalte geschrieben.
Wermutstropfen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim spalte As Integer
spalte = Cells(1, Columns.Count).End(xlToLeft).Column
Application.EnableEvents = False
Cells(Target.Row, spalte).Value = Now
Columns(Cells(Target.Row, Columns.Count).End(xlToLeft).Column).AutoFit
Application.EnableEvents = True
End Sub

es wird in Spalte A geschrieben, habe dann diese Änderung "eigenmächtig" vorgenommen,
spalte = Cells(5, Columns.Count).End(xlToLeft).Column
und auch versucht .End(xlToRight) zu verwenden,
aber so geht es wohl doch nicht.
Oder will mein Excel nicht so wie ich...
könnt ihr nochmals nachschauen
Gruss
Heribert
Anzeige
AW: Änderungsdatum in Zeile
15.10.2005 20:20:00
Hilbman
Hallo Heribert,
Der von mir gegebene Makro geht davon aus daß in Zeile 1 die Spaltenüberschriften stehen
(entsprechend deiner Exceldatei). Soll nun verhindert werden, daß in Zeile 1 die gleichen Aktivitäten wie ab Zeile 2 per Programm durchgeführt werden, dann verwende folgende Änderung:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim spalte As Integer
spalte = Cells(1, Columns.Count).End(xlToLeft).Column
Application.EnableEvents = False
If Target.Row > 1 Then
Cells(Target.Row, spalte).Value = Now
Columns(Cells(Target.Row, Columns.Count).End(xlToLeft).Column).AutoFit
End If
Application.EnableEvents = True
End Sub

Somit können in Zeile 1 die Spaltenüberschriften "per Hand" erzeugt werden.
Die Datumsvergabe erfolgt nun erst ab Zeile 2.
Gruß Hilbman
Anzeige
AW: Änderungsdatum in Zeile
15.10.2005 20:20:06
Hilbman
Hallo Heribert,
Der von mir gegebene Makro geht davon aus daß in Zeile 1 die Spaltenüberschriften stehen
(entsprechend deiner Exceldatei). Soll nun verhindert werden, daß in Zeile 1 die gleichen Aktivitäten wie ab Zeile 2 per Programm durchgeführt werden, dann verwende folgende Änderung:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim spalte As Integer
spalte = Cells(1, Columns.Count).End(xlToLeft).Column
Application.EnableEvents = False
If Target.Row > 1 Then
Cells(Target.Row, spalte).Value = Now
Columns(Cells(Target.Row, Columns.Count).End(xlToLeft).Column).AutoFit
End If
Application.EnableEvents = True
End Sub

Somit können in Zeile 1 die Spaltenüberschriften "per Hand" erzeugt werden.
Die Datumsvergabe erfolgt nun erst ab Zeile 2.
Gruß Hilbman
Anzeige
AW: Änderungsdatum in Zeile
15.10.2005 20:33:07
Heribert
Hallo Hilbman,
ja werde ich mal so verwenden.
An die "Überschriftenzeile/en" hatte ich noch gar nicht gedacht.
Danke.
Gruss
Heribert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige