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

Zellenformat prüfen vba

Zellenformat prüfen vba
08.12.2016 11:47:55
Patrick
Hallo ihr lieben!!
Ich komme hier absolut nicht weiter, vielleicht kennt ihr ja die Lösung?
Es werden per Userform Daten eingegeben, dessen Format im Anschluss geprüft werden soll.
Das Format muss sein 123.1234, wobei der Punkt sehr wichtig ist.
Ich habe schon sämtliches versucht, derzeit lautet mein Code:
If Range("c6").NumberFormat "###.####" Then Bearbeiten.Show
Liebe Grüße aus Frankfurt

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellenformat prüfen vba
08.12.2016 12:28:07
Rudi
Hallo,
dann ist das doch wahrscheinlich Text!
Warum prüfst du das nicht gleich in der Userform?
If not Textbox1 like "###.####" Then
Msgbox" Falsch!!"
Else
'eintragen
End If
Ich würde aber nur prüfen, ob 7 Ziffern vorhanden sind und den . per VBA einfügen. Erheblich komfortabler.
Gruß
Rudi
Füßchen von Gänse
08.12.2016 12:28:51
Gänse
Moin!
In VBA ist der Punkt das Dezimaltrennzeichen.
Hast Du wirklich eine formatierte Zahl oder Text in C6?
Bei Zahl: Range("C6").NumberFormat = "###"".""####"
Bei Text: InStr(Range("C6"), ".") = 4
Gruß Ralf
Anzeige
AW: Zellenformat prüfen vba
08.12.2016 12:50:08
Daniel
Hi
die Eingabe in die TextBox ist immer Text.
hier kannst du die Idee von Rudi verwenden.
das Problem jedoch ist die Übergabe des Wertes von der TextBox in eine Excelzelle, weil Excel hierbei versuchen wird, den Übergabewert als Zahl zu interpretiern und dabei den Punkt als Dezimalzeichen verwendet, weil VBA idr. mit den amerikanischen Formaten arbeitet.
wenn du sicher gehen willst, dass das Format genauso erhalten bleibt, musst du den Wert als TEXT übergeben. Hierzu muss man das Texterkennungszeichen Hochkomma ' voranstellen.
dh du brauchst folgenden Code um den Wert in die Zelle zu übertragen:
If Textbox1.Text like "###.#####" then
Range("C6").Value = "'" & Textbox1.Text
ElseIf Textbox1.Text like "#######" Then
Range("C6").Value = "'" & Left(Textbox1.Text, 3) & "." & Mid(Textbox1.Text, 4, 4)
Else
Msgbox "Bitte 7 Ziffern eingeben"
End if
Gruß Daniel
Anzeige
AW: Zellenformat prüfen vba
09.12.2016 11:42:56
Patrick
Vielen Dank Euch!!! Hat super geklapp! :-)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige