Ich habe mir einen Code gebastelt, der automatisch in Spalte V ein Datum setzt, wenn ich in Spalte N etwas eintrage. Wenn jedoch schon ein Datum gesetzt ist, dann überschreibt er nicht das bestehende Datum. Nun möchte ich jedoch Spalte N automatisch mit einem Sverweis füllen. Das Problem ist hierbei, das er das Datum in Spalte V nicht setzt, da es für ihm ja kein Worksheet Change Ereignis ist. Nun wollte ich fragen, ob man Auswerten kann, ob der Sverweis nun ohne Fehler ist und er dann ein Datum in Spalte V setzen soll, aber nur, wenn noch kein Datum in der Zelle ist. Wenn in Spalte V jedoch schon ein Datum steht, dann soll er das Datum bitte nicht überschreiben. Ist dies machbar?
hier mein vorhandener Code:
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 Then If Target.Column = 14 Then If Target = "" Then Target.Offset(, 8) = "" Else If Target.Offset(, 8) = "" Then Target.Offset(, 8) = Date End If End If End If End If End Sub
hier sehe ich eher ein logisches Problem. 1.Warum holst Du die Daten per SVERWEIS und trägst sie nicht selbst ein? 2. Welches Datum soll eingetragen werden, da der Sverweis ja bei jedem Öfnnen der Datei arbeitet? 3. Was spricht dagegen, das Datum in die Tabelle Test einzutragen und auch per SVERWEIS abzufragen?
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
hier sehe ich eher ein logisches Problem. 1.Warum holst Du die Daten per SVERWEIS und trägst sie nicht selbst ein? 2. Welches Datum soll eingetragen werden, da der Sverweis ja bei jedem Öfnnen der Datei arbeitet? 3. Was spricht dagegen, das Datum in die Tabelle Test einzutragen und auch per SVERWEIS abzufragen?
Hallo BoskoBiati,
1.) Der Sverweis bezieht sich normalerweise auf eine andere Datei. Ich habe es nur vereinfacht dargestellt. Die Datei wird so gut wie möglich automatisch befüllt. Sodass man sie nur noch öffnen speichern und schließen muss.
2.) Das aktuelle Datum soll gesetzt werden wenn der Sverweis eben stimmt und noch kein Datum in Spalte V gesetzt ist.
3.) Die Datei soll sich so gut es geht Selbst führen.
1.) Der Sverweis bezieht sich normalerweise auf eine andere Datei. Ich habe es nur vereinfacht dargestellt. Die Datei wird so gut wie möglich automatisch befüllt. Sodass man sie nur noch öffnen speichern und schließen muss.
2.) Das aktuelle Datum soll gesetzt werden wenn der Sverweis eben stimmt und noch kein Datum in Spalte V gesetzt ist.
3.) Die Datei soll sich so gut es geht Selbst führen.
Danke & viele Grüße
Kann mir zufällig jemand sagen ob es etwas gibt das einen SVerweis prüft ob dieser einen Fehler (#NV) hat oder eben nicht?
(21.02.2022, 06:55)Pascala schrieb: Kann mir zufällig jemand sagen ob es etwas gibt das einen SVerweis prüft ob dieser einen Fehler (#NV) hat oder eben nicht?
Hallo,
da gibt es verschiedene Wege:
Nehmen wir an in Zelle N2 ergibt der Sverweis "#NV" - dann...
Code:
MsgBox IsError([N2])
Das ergibt dann "Wahr".
Oder du evaluierst den Sverweis:
Code:
Dim strTMP As String strTMP = Sheet3.Evaluate("=IFERROR(VLOOKUP(D2,test!A:B,2,0),"""")") If strTMP = "" Then MsgBox "Kein Ergebnis bzw. #NV"
Ohne "IFERROR" müsstest du mit "On Error..." arbeiten.
Das beim öffnen der Datei "Workbook_Open()" in einer For-Schleife.
Du könntest auch einfach die Zellen in Spalte N prüfen. Und wenn etwas drin steht, schauen ob in V ein Datum steht, wenn nein - setzen.