Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Userform Textbox / sverweis mit Datum
#1
Hallo zusammen,

ich habe eine Tabelle die ich manuell fülle:
Spalte A= Datum
Spalte B= Wert1
Spalte C= Wert2

Wenn ich mein Userform öffne lass ich mir in Textbox1 das Datum anzeigen (Textbox1.Value = Date).

Mit der Funktion (Terxtbox1_Change) aktiviere ich einen sverweis (Suche Spalte A; Ergebnis Spalte B in Textbox2)

Jetzt zu meinem Problem:

Ich bekomme kein Ergebnis in Textbox2 angezeigt.

Wenn ich allerdings das Datum in der Tabelle gegen Zahlen (1,2,3,4...) tausche und in der Textbox1 dann statt Datum ebenfalls die Zahl 1,2,3 oder 4 eingebe funktioniert der sverweis.

Ich nehme an das das Datum in der TextBox1, welches richtig angezeigt wird (13.06.2017), irgendwie nicht gleich ist wie das Datum in der Tabelle Spalte A (13.06.2017). Rein optisch gibt es hier allerdings keinen Unterschied.

Also, mein sverweis funktioniert....wie kann ich die TextBox oder die Spalte A umformatieren damit der sverweis auch mit dem Datumsfeld funktioniert.

Vielen Dank und Gruß
Antworten Top
#2
Moin!
S05, war das nicht mal der Lapsus von Carmen Thomas, der ihr den Job im aktuellen Sportstudio gekostet hat?
(lang ist's her)

Edit:
Stimmt, hier ist er:
https://www.zdf.de/sport/das-aktuelle-sp...s-102.html

Zum Thema:
Du musst dem Sverweis den TEXT der Textbox als DATUM übergeben:
CDate(TextBox1)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
:19: 
...Das kannte ich ja gar nicht...


Aber irgendwie bekomme ich das nicht hin, deshalb mal ein vereinfachter Code Abschnitt:

Code:
Private Sub UserForm_Activate()

TextBox1.Value = Date

End Sub

Private Sub Textbox1_Change()

With Workbooks("TTA.xlsm")
   Dim varSuchbegriff1 As Variant
   If IsNumeric(TextBox1.Value) Then varSuchbegriff1 = Val(TextBox1.Value) Else varSuchbegriff1 = TextBox1.Value
   On Error Resume Next
   TextBox2.Value = WorksheetFunction.VLookup(varSuchbegriff1, Workbooks("TTA.xlsm").Sheets("Tabelle1").Range("A:B"), 2, 0)
   If Err.Number <> 0 Then TextBox2.Value = "Nichts gefunden"
   On Error GoTo 0
End With

End Sub

Kannst Du mir das bitte noch einmal genauer erklären ?

Ich habe bereits einige Konstellationen versucht...leider ohne Erfolg.

Gruß
Antworten Top
#4
Ich schrieb nüscht von Val(), sondern von CDate()!
Val("13.06.2017") ergibt 13,06
Damit kann Dein Verweis nichts anfangen!

Lade am besten mal die (anonymisierte?) Datei hoch.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Bitte schön.


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 22,76 KB / Downloads: 5)
Antworten Top
#6
Hallo,

mit dem Change-Ereignis würdest Du keine Freude haben, wenn Du das Datum eintippst.
Das wäre mein Vorschlag:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
 If IsDate(TextBox1.Value) Then
   TextBox2.Text = CStr(Application.VLookup(CDbl(CDate(TextBox1.Value)), Sheets("Tabelle1").Range("A1:B999"), 2, 0))
   If Err.Number <> 0 Then TextBox2.Value = "Nichts gefunden" & Err.Description
 Else
   MsgBox "Bitte eingültiges Datum eingeben!"
   TextBox1 = ""
   TextBox2 = ""
   Cancel = True
 End If
End Sub
Gruß Uwe
Antworten Top
#7
Hallo Kuwer,

wie in meiner Beispieldatei zu sehen ist wird das Datum nicht eingetippt sondern beim öffnen automatisch übernommen.

Von daher hätte ich gerne gewusst wie ich das in meinem Aufbau realisieren könnte, dass der Sverweis funktioniert.

Aber ich habe jetzt deinen Code übernommen, vielen Dank dafür...  Thumps_up

Ich schreibe zwar immer noch beim öffnen der Eingabemaske das Datum in die TextBox1, springe dann aber in TextBox2 um die Suche (Sverweis) auszulösen.

Private Sub UserForm_Activate()

TextBox1.Value = Date
TextBox2.SetFocus


Vielen Dank und Gruß
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste