Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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

Marko an Ausführung hindern, wenn...

Marko an Ausführung hindern, wenn...
17.05.2018 21:20:34
Corinna
Guten Abend an Alle,
ich habe durch eure Hilfe ein Problem in meiner Excel lösen können. Im Arbeitsalltag zeigt sich leider nun ein Problem, bei dem ich definitiv überfragt bin:
Es geht darum: in der Zelle H2 wird z.B. der Code "00000-200004" eingegeben. In diesem Code geben die letzten 3 Ziffern immer die entsprechende H-Zelle an, in der nun das Erfassungsdatum mit Uhrzeit eingetragen wird. Dies erreiche ich mit der WENN-Funktion: =WENN(SVERWEIS($H$2;D4:D4;1;FALSCH)=D4;JETZT();"NICHT GEFUNDEN")
Durch das Makro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "H2" Then
If Target  "" Then
Cells(CLng(Right(Target, 3)), 8) = Now
End If
End If
End Sub

wird das Datum fixiert und wir können den nächsten Code in H2 erfassen.
Jetzt haben wir festgestellt, dass es sinnvoll wäre, eine doppelte Eingabe eines identischen Codes zu verhindern. Wenn wir das aktuell machen, wird das bereits erfasste Datum mit Uhrzeit überschrieben.
Gibt es die Möglichkeit, das Makro am Ausführen zu hindern, wenn der Code bereits eingegeben erfasst worden ist, damit auch das Datum nicht überschrieben wird?
Wenn nicht, würde mir auch ein Warnhinweis genügen, aber wenn ich mit MsgBox arbeite, wird die Zelle überschrieben und ich bekomme erst hinterher den Hinweis, was gerade passiert ist.
Ich würde mich tierisch freuen, wenn ihr eine Idee hättet, denn ich als VBA-Anfänger komme hier leider nicht mehr weiter.
LG
Corinna

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Marko an Ausführung hindern, wenn...
17.05.2018 21:54:29
Gerd
Hallo Corinna,
auf "00000-200004"
folgt 10000-900004"
Was soll passieren?
Gruß Gerd
AW: Marko an Ausführung hindern, wenn...
17.05.2018 22:49:22
Corinna
Hallo Gerd,
wenn in "H2" der Code 10000-900004 eingegeben wird, soll zunächst geprüft werden, ob dieser Code schon einmal erfasst worden ist.
Fall 1: ist der Code noch nie erfasst worden, wird in der angewählten Zelle "H4" das Erfassungsdatum mit Uhrzeit durch die hinterlegte WENN-Funktion eingetragen und mit Hilfe des Makros als Wert fixiert, damit er beim nächsten Code in "H2" nicht verschwindet.
Fall 2: ist der Code 10000-900004 schon einmal erfasst worden, soll ein Hinweisfenster aufgehen z.B. mit dem Hinweis "Schon erfasst". Das beim erste Erfassen eingetragene Datum in "H4" darf dann nicht überschrieben werden.
Ist so etwas umsetzbar?
Schon mal vielen Dank und viele Grüße
Corinna
Anzeige
AW: Marko an Ausführung hindern, wenn...
17.05.2018 23:23:53
Rudi
Hallo,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "H2" Then
If Target  "" Then
if Cells(CLng(Right(Target, 3)), 8) = "" then
Cells(CLng(Right(Target, 3)), 8) = Now
else
Msgbox "Bereits erfasst",vbokonly,"Hinweis"
end if
End If
End If
End Sub

Gruß
Rudi
PS: wer ist Marko? ;-)
17.05.2018 23:24:40
Rudi
AW: PS: wer ist Marko? ;-)
18.05.2018 06:25:05
Corinna
Hallo Rudi,
der hat sich mir auch noch nicht vorgestellt :).
Ich hab deinen Vorschlag ausprobiert. Leider tauchen jetzt ein paar neue/alte Problemchen auf.
Nun wird bei jedem eingegebenen Code der Hinweis "bereits erfasst" angezeigt.
Und das Datum wird weiterhin in die angesteuerte Zelle eingefügt, egal, ob schon vorhanden oder nicht.
Was mich irritiert, die Fixierung vom erfassten Datum ist aufgehoben.
LG
Corinna
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige