[ jakov1 @ 05.10.2009. 10:46 ] @
| Postovani,
imam niz karaktera (9 kom). U tom nizu na prvom mestu je slovna oznaka pa dalje ima i slovnih i numerickih oznaka.
Npr. J2201JE17
Trebam promeniti samo prvi karakter (koji je uvek slovna oznaka) u 55338.
Npr. J2201JE17 -> 553382201JE17. Isao bih na klasicnu replace funkciju ali desava se da se ista slovna oznaka ponavlja u daljem nizu. |
[ mirko1949 @ 05.10.2009. 12:18 ] @
Bez obzira sto se ista slovna oznaka ponavlja u daljem nizu pomocu funkcije:
=REPLACE(A1,1,1,55338)
menjas samo (ako sam dobro shvatio) prvi karakter u broj 55338
[ jakov1 @ 05.10.2009. 12:29 ] @
Problem je sada u tome sto negde trebam da promenim slovo u 05533 i kada to uradim on mi nulu izbrise jer je smatra kao broj a kada celiju formatiram u tekst onda mi ostane samo ispisana formula.
[ Jpeca @ 05.10.2009. 13:39 ] @
Stavi niz koji zamenjuješ između navodinika u funkcij Replace "05533"
[ jakov1 @ 05.10.2009. 18:00 ] @
To je to. Hvala.
[ neptuncokg @ 06.10.2009. 20:24 ] @
Sam mala dopuna ove teme. Kako ovo isto izvesti (da se ne brise nula kao vodeci broj), kad je rec o unosu brojeva u textbox u okviru forme? Cini mi se da sam negde na forumu naisao na odgovor, ali mi ne uspeva da nadjem.
[ Catch 22 @ 07.10.2009. 01:31 ] @
Apostrof ispred nule: '0123(?)
(što je isto kao i da si formatirao ćeliju kao tekst)

[ neptuncokg @ 07.10.2009. 02:12 ] @
Apostrof ispred nule je resenje, ali u celiji excela. U textboxu forme nije, bar kod mene, jer mi je textbox formatiran samo za brojcane unose, odnosno ne prima nikakav unos osim broja.
[ mirko1949 @ 07.10.2009. 11:01 ] @
Svakako da ti TextBox sluzi za unos u neku celiju. Mozda moze da se izvede jedno zaobilazno resenje. Npr. Ako ti je taj unos u celiju C4 (broj 123) a tebi treba broj 0123 mozes da na primer u bilo koju (pomocnu celiju K1) uneses 0. Onda u B4 upises = $k$1&C4 i dobices broj koji ti treba. Naravno to podrazumeva da na radnom listu imas jos jednu pomocnu kolonu.
[ neptuncokg @ 07.10.2009. 11:42 ] @
Hvala mirko1949, probao sam na blic i to radi. Medjutim, zbog celog programa i obrazaca to ce mi zahtevati promenu jedno desetak macroa. Ipak mislim da ima jednostavan cod, cini mi se u dogadjaju Textbox_Change. Pozdrav
[ Jpeca @ 07.10.2009. 11:48 ] @
Text box standardno prihvata tekst dakle i vodeće nule. Verovatno je greška kod validacije koju koristiš da omogućiš samo unos brojeva i da ona vrši to pretvaranje. Jednostavno izbaci pretvaranje teksta u broj i neka validacija vrši samo proveru.
[ neptuncokg @ 07.10.2009. 13:28 ] @
Hvala za Jpecu. Ovo ce definitivno da pomogne. Evo macroa koji vec ogranicava drugi unos osim numerickog, koji si mi takodje ti napisao pre mesec dana.
Private Sub TextBox27_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'Ne dozvoljava drugi unos osim numerickog
If IsNumeric(Me.TextBox27) Then GoTo Kraj
MsgBox "Neispavan Unos", vbInformation, "Greška!"
Me.TextBox27.Value = 0
Kraj:
End Sub
Da li da ovaj novi dogadjaj Private Sub txtUnosBroj_Change() dopisem kao novi macro, a da prvi obrisem, ili da ostavim oba? Ne bih da nesto zabrljam, posto sam blizu resenja. Pozdrav
[ Jpeca @ 07.10.2009. 13:39 ] @
Zavisi gde ti je primerenije da izvršiš validaciju i obradiš grešku.
Događaj OnChange se dešava na svaku promenu TextBox-a, dakle nakon unosa/brisanja svakog znaka sa tastature.
Događaj OnExit se dešava pre nego što kontrola izgubi fokus i pređe se na novu kontrolu u formi.
Jedana validacija trebalo bi da je sasvim dovoljna, pa ako ti odgovara OnChange uradi tako. Obrada oba događaja nije greška ali se čini kao dupli posao u tvom slučaju.
[ neptuncokg @ 07.10.2009. 20:00 ] @
Hvala, pokusacu nesto da izmiksujem, a da ne pokvarim ono sto vec radi. Pozdrav
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|