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.

VBA - Txtbox Datum
#1
Hi Leute,

ich benötige erneut eure Hilfe. Ich habe in meinem Tabellenblatt eine Activex-Textbox namens txtbox_Datum. Hier möchte ich ein Datum eingeben in Form von "DDMMYYYY" oder "DD.MM.YYYY" oder nur "DDMM" bzw "DD.MM" (das Jahr aus "H1" soll ergänzt werden). Wenn ich dann Enter drücke, soll er mir eine msg-box ausgeben, in welcher Kalenderwoche sich das Datum befindet.

Irgendwie muss ich Keyreturn mit .formulalocal und dem Format zusammenbringen ... ich schaffe es leider nur nicht.

Kann mir wer eine Hilfestellung geben?

Gruß
Antworten Top
#2
Hallo,

das würde ich mit einem UserForm lösen.


Angehängte Dateien
.xlsm   UserForm Kalenderwoche.xlsm (Größe: 16,49 KB / Downloads: 5)
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • EasY
Antworten Top
#3
Moin!
Mal wieder bewahrheitet sich, dass eine Textbox zur Darstellung von (oh Wunder) Text gedacht ist und sonst nüscht.
Alles das, was eine Excel-Zelle naturgemäß kann, muss einer TB erst mühsam "beigebracht" werden.
Lege auf die Zelle (die Du gerne so formatieren kannst, dass sie von einer TB nicht zu unterscheiden ist) eine Datengültigkeit (Datum von – bis) und formatiere sie als Datum.
Daneben die Formel =KALENDERWOCHE(A1;21) im Format "KW "00 und gut ist.

By the way gebe ich ein Datum immer mittels Ziffernblock ein:
3-5 ergibt den 03.05.2018

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)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • EasY
Antworten Top
#4
Hallo Klaus-Dieter,

grandios - es funktioniert, wobei ich nicht verstehe, was in der Mitte deines Codes steht ... ich werde es aber auseinanderpflücken.

Hi Ralf,

auch dir ein großes Dankeschön - über die Variante habe ich noch überhaupt nicht nachgedacht ... ich bin momentan nur im VBA-Editor unterwegs und da war der Blick sehr versteift.




Gruß
Antworten Top
#5
Hallo,

der Quelltext ist nicht von mir. Die Formeln berechnen die Kalenderwoche und sollen auf Gauß zurück gehen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#6
Wenn ich denn mal mit TBs arbeite, lasse ich eingebaute VBA-Funktionen rechnen.
Format() ist sehr umfangreich:
https://docs.microsoft.com/de-de/office/...2147217396

Im Exit würde die Eingabe von 3-5 KW 18 | 03.05.2018 ergeben:
If IsDate(TextBox1) Then TextBox1 = Format(TextBox1, "K\W ww | dd.mm.yyyy", vbMonday, vbFirstFourDays)

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


Gehe zu:


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