< návrat zpět

MS Excel


Téma: Cele číslo VBA rss

Zaslal/a 11.11.2010 17:19

Chtěl bych poradit, jestli je ve VBA nejaka funkce, co by dokazala ze zadaneho textboxu zjistit, zda je zadano cele nebo desetinne cislo? diky.

Zaslat odpověď >

icon #003126
Poki
O specialni funkci nevim, ale lze to obejit treba takto:Private Sub CommandButton1_Click()
If IsNumeric(TextBox1.Text) = False Then
MsgBox "V textboxu neni cislo"
TextBox1.Text = ""
Exit Sub
End If

If CDbl(TextBox1.Text) - CLng(TextBox1.Text) > 0 Then
MsgBox "Cislo v textboxu je desetinne"
TextBox1.Text = ""
Exit Sub
End If

If CDbl(TextBox1.Text) - CLng(TextBox1.Text) = 0 Then
MsgBox "Cislo v textboxu je celé"
TextBox1.Text = ""
Exit Sub
End If
End Sub
citovat
#007697
avatar
Dobrý den, chtěl bych se zeptat, jak mám upravit kód, aby mi nechal celá čísla např. 100 ale už mi nevzal číslo 100,0 . Kód od uživatele Pokiho funguje na čísla např. 100,5 ale už ne na 100,0.

Děkuji za odpověd.citovat
icon #007699
Poki
Nevidim duvod, proc nenechat uzivatele zapsat cislo 100,0 - jaky mate duvod toto delat?
Jde preci jen o format cisla...
V dalsi praci muzete pri zobrazovani urcit format, jaky chcete, tak proc omezovat uzivatele s takovou(neurazte se) "blbosti"...?citovat
#007701
avatar
V tomto máte pravdu. Můj důvod byl takový, že když jsem poté spustil makro a číslo bylo zadáno bez desetinné čárky, tak vše bylo v pořádku. Pokud jsem ale zadal číslo např 100,0 tak výstup se jevil jako text a ne číslo.citovat
#007702
avatar
PS: v makru jsem si hodnoty přenásobil číslem 1 a vše je vyřešeno.citovat
icon #007703
Poki
ano, jelikoz jde o textbox, tak jeho vystup je text, vynasobit *1 je jedna moznost, druha moznost je zmenit typ na napr. Long funkci CLng(TextBox1)citovat
#018880
avatar
Dobrý den, potřebovala bych poradit jak definovat celé číslo a číslo desetinné.
Chci napsat makro:
pokud je číslo celé, tak....
POkud je číslo desetinné, tak...

Děkuji.citovat
#018883
avatar

Wally napsal/a:

Dobrý den, potřebovala bych poradit jak definovat celé číslo a číslo desetinné.
Chci napsat makro:
pokud je číslo celé, tak....
POkud je číslo desetinné, tak...

Děkuji.


Sub aa()
i = 15
If Fix(i) = i Then
MsgBox "cele"
Else
MsgBox "desatinne"
End If
End Subcitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje