Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sabiranje TextBox-ova u UserForm

[es] :: Office :: Excel :: Sabiranje TextBox-ova u UserForm

[ Pregleda: 2060 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
79.101.136.*



+9 Profil

icon Sabiranje TextBox-ova u UserForm19.08.2009. u 17:09 - pre 178 meseci
Nikako mi ne polazi za rukom da saberem vrednosti iz tri razlicita TextBox-a i da u cetvrtom dobijem zbir.
Napisao sam cod u UserfForm_activate:

TextBox4.Value = TextBox1.Value + TextBox2.Value + TextBox3.Value

I kad unesem U Text.Box1 - 20, u TextBox2 - 30 i u TextBox3 - 40, dobijem rezulat u TextBox4 - "203040", a ne 90 kao sto bi trebalo.

U jednom drugom dokumentu imam zadate funkcije mnozenja i deljenja ( *, / ) i to radi normalno. Nije mi jasno gde gresim i zasto nece da sabira.
Takodje me interesuje kako TextBox-u da dodelim iskljucivo numericku vrednost, tj da ga definisem kao sto definisem celiju u excelu (FormatCells - number). I gde uopste moze da se nadje nesto vise oko dodeljivanja svojstava kontrolama u UserForm-u? Naravno na srpskom jeziku. Hvala unapred.
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
*.3dnet.rs.

Sajt: www.gowi.rs


+109 Profil

icon Re: Sabiranje TextBox-ova u UserForm19.08.2009. u 20:59 - pre 178 meseci
Kako se vrednosti iz textboxa tumače kao tekst, potrebno je izvršiti konverziju unesenih vrednosti u textbox iz teksta u brojčanu vrednost. Za to se koriste funkcije CInt za cele brojeve odnosno CDbl za brojeve koje sadrže decimale. Npr

TextBox4.Value = CInt(TextBox1.Value) + CInt(TextBox2.Value) + CInt(TextBox3.Value)

"Dodeljivanje" isključivo numeričke vrednosti tekstu obavlja se preko metode za validacije unosa u tekst box. Validaciju je najbolje da obaviš u dogadjaju Exit za text box. Npr nešto ovako za Text box 1:

Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   If IsNumeric(Me.TextBox1) Then GoTo Kraj
   MsgBox "Neispavan Unos", vbInformation, "Greška!"
   Me.TextBox1.Value = 0
Kraj:


Gde naći o svojstvima kontrola na srpskom je teško pitanje. Pokušaj da nađeš neku dobru knjigu za programiranje u Accessu. Iako nije potpuno isto biće lakše snaći se nakon toga. Pogledaj i neke linkove na top temi http://www.elitesecurity.org/t222802-Office-Rad-sa-makroima.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
79.101.136.*



+9 Profil

icon Re: Sabiranje TextBox-ova u UserForm20.08.2009. u 11:49 - pre 178 meseci
Hvala na odgovoru, ovo funkcionise. Jedino sto moram svim Text Box-ovima da dodelim ove parametre, a imam ih mnogo.
I dalje mi nije jasno kako bez ovih zakrpa funkcionisu sledece tri formule u drugom UserFormu:

Private Sub CommandButton1_Click()
TextBox8.Value = TextBox5.Value - (TextBox5.Value * (TextBox6.Value / 100))
TextBox9.Value = TextBox7.Value / (100 + ComboBox1.Value) * 100
TextBox10.Value = ((TextBox9.Value - TextBox8.Value) / TextBox8.Value) * 100
End Sub

Sve radi, kao u excelu. Mora da postoji neko podesavanje kontrole TextBox-a.

Pozdrav
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
194.106.170.*

Sajt: www.gowi.rs


+109 Profil

icon Re: Sabiranje TextBox-ova u UserForm20.08.2009. u 12:32 - pre 178 meseci
Kad se u formuli nađe operator * ili / interpretator shvati da su argumenti numerički jer ovi operatori ne postoje za tekst i izvrši implicitnu konverziju iz texta u numerik, kao što bi ti izvršio explicitino sa funkcijom CDBL. Opreator + radi i sa numeričkim izrazima i tekstualnim pa se u ovom slučaju implicitna konverzija ne obavlja.
Dakle možeš da umesto
TextBox4.Value = TextBox1.Value + TextBox2.Value + TextBox3.Value
staviš
TextBox4.Value = TextBox1.Value*1 + TextBox2.Value*1 + TextBox3.Value*1
i dobićeš isti rezultat kao sa konverzijom, ali je to manje razumljivo (bar meni)



Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

neptuncokg
Predrag M
racunovodja
Kragujevac

Član broj: 230353
Poruke: 326
79.101.136.*



+9 Profil

icon Re: Sabiranje TextBox-ova u UserForm20.08.2009. u 13:50 - pre 178 meseci
Pa znao sam da ima neki razlog, ali ovo je vec nauka. Bice mi od koristi svakako. I samo jos jedna stvar. Da li naredbu da stavim u Text.Box4_Change, ili u UserForm_activate? Inace, sve ovo sto radim ima za cilj da jedan knjigovodstveni programcic koji je bio u excelu, preradim u VBE. I polako ali sigurno mi uspeva. Hvala na podrsci, ali imacu jos problema verovatno. Pozdrav.
 
Odgovor na temu

[es] :: Office :: Excel :: Sabiranje TextBox-ova u UserForm

[ Pregleda: 2060 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.