Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1212to1216
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

Datum löschen

Datum löschen
Werner
Hallo Forum,
Ich weiß mal wieder nicht weiter :-(.
In dem unten aufgezeigtem Code habe ich folgendes eingebaut.
If Not (Intersect(Range("G:G"), Target) Is Nothing) Then Target.Offset(0, -4) = Now()
Wenn in einem Feld der Spalte G Zeichen eingegeben werden, wird in der Spalte C derselben Zeile das aktuelle Datum ausgegeben und "eingefroren".
Nun möchte ich, dass das Datum erlischt, wenn das entsprechende Feld der Spalte G geleert wird.
Hat jemand ein Beispiel zur Hand?
Vielen Dank für die bisher geleistete Hilfe.
Werner
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iCalc As Integer
If Not (Intersect(Range("g:g"), Target) Is Nothing) Then Target.Offset(0, -4) = Now()
If Not Intersect(Range("B2:B" & Rows.Count), Target) Is Nothing Then
With Application
iCalc = .Calculation
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
With ActiveSheet
.Protect Password:="Dein Kennwort", UserInterfaceOnly:=True
With .UsedRange
With .Columns(.Columns.Count).Offset(0, 1)
.FormulaR1C1 = "=IF(ROW()>3,IF(RC2=""+"",1,IF(RC2=""-"",3,IF(EXACT(RC2," _
_
_
"o""),2,""""))),-1)"
End With
End With
With .UsedRange
.Sort Key1:=.Cells(2, .Columns.Count), Order1:=xlAscending, _
key2:=.Cells(2, 3), Order2:=xlAscending, _
Header:=xlYes
.Columns(.Columns.Count).EntireColumn.Delete
End With
End With
.Calculation = iCalc
.ScreenUpdating = True
.EnableEvents = True
End With
End If
End Sub

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

Betreff
Benutzer
Anzeige
Evtl. so ?
13.05.2011 23:02:51
Matthias
Hallo
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Intersect(Range("G:G"), Target) Is Nothing) Then
If Target  "" Then
Target.Offset(, -4) = Now()
Else
Target.Offset(, -4) = ""
End If
End If
End Sub
Gruß Matthias
AW: Datum löschen
14.05.2011 06:16:17
Werner
Guten Morgen Mathias,
super - funktioniert bestens
Danke für die schnelle Hilfe
Ein angenehmes Wochenende
Werner
noch eine kleine Anmerkung
14.05.2011 10:04:46
Matthias
Hallo
Ziat

Wenn in einem Feld der Spalte G Zeichen eingegeben werden, wird in der Spalte C derselben Zeile das aktuelle Datum ausgegeben
Das stimmt zwar, aber es steht dann auch die Zeit dabei
Now bedeutet ja für Excel Jetzt
Statt Now() reicht übrigens auch Now (also ohne Klammerpaar)
Willst Du nur das Datum, dann benutze Date
schö.WE.
Gruß Matthias
Anzeige
AW: noch eine kleine Anmerkung
14.05.2011 15:36:44
Werner
Hallo Mathias,
Danke für die Zusatzinfo. Und schon wieder etwas dazugelernt :-)
Bei mir ist nichts mit WE. Bin für meinen Arbeitgeber mal wieder im Ausland unterwegs. Das bedeutet jedesmal eine 6 1/2 Tage Woche für die nächsten 3 Monate.
Auf meiner Webseite (garment-technician.com) kann man nachlesen was ich so treibe.
Gruß und ein entspanntes WE
Werner
AW: noch eine kleine Anmerkung
14.05.2011 16:53:09
Werner
Hallo Matthias,
würdest Du mir evtl. noch mal helfen?
Alles funktioniert einwandfrei, jedoch nur solange die Spalte in der das jeweilige Datum ausgegeben wird nicht geschützt ist.
Die Spalte möchte ich jedoch schützen, damit das jeweils angezeigte Datum nicht überschrieben werden kann.
Herzlichen Dank und Gruß
Werner
Anzeige
hier eine Beispieldatei ...
15.05.2011 10:10:32
Matthias
Hallo
und was soll passieren, wenn der Inhalt in eine Zelle der Spalte G entfernt wird
So wie ich das verstanden habe, wolltest Du doch die Zelle in Spalte C dann wieder leeren.
Also wird der Inhalt ja doch wieder verändert
Desweiteren wäre ja ...
... wenn man in Spalte G einen Eintrag tätigt
... und das Datum in Spalte C erhalten bleiben soll
der Eintrag nicht mehr real mit dem Datum zu verbinden.
Für mich etwas irreführend ist, da ich nicht so richtig verstehe
was Du wann zulassen und wann unterbinden möchtest.


Ich habe Dir mal ein Bsp erstellt, das ja vielleicht genau das macht was Du Dir vorstellst

  • Die Tabelle wird beim OpenEreignis gesperrt (nur für manuelle Änderungen!)

  • In Spalte G machst Du Deinen Eintrag

  • In Spalte C wird das Datum eingetragen


https://www.herber.de/bbs/user/74838.xls
Dabei sind die Zellen in Spalte C geschützt und nur via VBA beschreibbar.
Wenns nicht passt, einfach nochmal nachfragen
Gruß Matthias
Anzeige
AW: hier eine Beispieldatei ...
15.05.2011 13:59:49
werner
Hallo Matthias
Nach Feierabend – auch heute ist arbeiten angesagt-, sobald ich im Hotel bin, werde ich mir Dein Beispiel anschauen.
Einstweilen vielen Dank für Deine Mühe, ich weiß es zu schätzen.
Folgendes möchte ich erreichen…
Wenn in einem Feld der Spalte G ein Wert eingegeben wird (alphanummerisch bzw. nur nummerisch) werden aus einer Tabelle die zu dem eingegebenen Wert gehörigen Daten eingelesen. Bisher wurde in den Zellen der Spalte B jeweils das Datum der Eingabe eingegeben.
Da die Datei auf einem Server liegt und von verschiedenen Personen in unterschiedlichen Ländern genutzt wird, ist es wiederholt vorgekommen, dass das eine und andere Datum überschrieben wurde. Wenn eine Materialnachlieferung verspätete eingetragen wird, wird hin und wieder ein älteres Datum rückwirkend, um behaupten zu können, dass die Materialanforderung rechtzeitig vorgenommen wurde.
Um dieses künftig zu verhindern möchte ich die Spalte B sperren, und dennoch die Möglichkeit haben, dass beim Eintragen in einem bereits belegtem Feld der Spalte G das Datum entsprechend aktualisiert wird.
Zudem soll die Möglichkeit bestehen, einen Eintrag zu löschen und somit auch das Datum.
Sobald ich mich mit dem Thema "Änderungen nachverfolgen" etwas näher beschäftigen kann, werde ich das auch noch einbauen müssen.
Herzliche Sonntagsgrüße
Werner
Anzeige
versteh ich nicht ...
15.05.2011 16:26:31
Matthias
Hallo
Zitat:
und dennoch die Möglichkeit haben, dass beim Eintragen in einem bereits belegtem Feld der Spalte G das Datum entsprechend aktualisiert wird.
Ich dachte Du wolltest das verhindern ?
Das ist ja dann ähnlich, als ob jemand das Datum modifiziert !
Userbild
AW: versteh ich nicht ...
15.05.2011 20:15:29
werner
Hast Recht, bin total überarbeitet, seit Wochen täglich bir zu 13 Stunden hinterlässt so langsam Spuren.
Datumsspalte schützen und gut is.
Angenehmen Abend und Danke
Werner
Anzeige
na dann erhol Dich jetzt mal !! kwT
15.05.2011 20:54:36
Matthias
AW: hier eine Beispieldatei ...
15.05.2011 16:33:04
werner
Hallo Matthias,
In Deinem Beispiel funktioniert es prima, nur bei mir nicht. Das liegt daran, dass ich nicht genau weiß wie und wo ich den Code von Dir in dem Bestehenden einbauen muss.
Von VBA habe ich leider nicht allzu viel Ahnung, noch viel weniger als von Excel :-(.
Werde mal ein bisschen „rumbasteln“.
Gruß
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige