Mislio sam da su ovakvi problemi proslost, ali sa VBA nikad nismo nacisto. Dakle, nekoliko sati mucenja nije dalo rezultata, pa iznosim problem, sa primerom. Podaci iz forme idu excel - u 2 sheeta. Kad se unose podaci koji se vec nalaze u bazi - sheetu, onda se sve odvija kako treba, ali kad treba uneti nov podatak, "iz glave", unos se obavi selektivno, tj. iz jednog CMB i jednog TXT se uopste ne upisu. Ali, da ne bih gnjavio previse, evo primera, i kompletnog dokumenta, pa ako ima pomoci bicu zahvalan. Pozdrav.
Hvala na odgovoru, ali nije resenje. U A11 sam ja stavio napenu za primer. U "stvarnosti" ona je prazna, kao i B11 i C11. Moj problem je negde u makrou - deklarisanje promenljive "r" ili nesto slicno. Vise ni sam ne znam, jer se dva dana vrtim u krug. Probao sam sa deklarisanjem - i kao long, i kao string i integer i variant i nista... Pozdrav
Zaista sam prijatno iznenadjen ovim resenjem kolege GVlaisavljevica. Radi bas onako kako sam ja zamislio. Sve vreme sam bio na pogresnom tragu, pokusavajuci sa deklarisanjem. Medjutim, moram da priznam da mi "teoretsko - logicki" nije najjasnije zasto je ovo pravo resenje. Valjda zato sto se skoro dva dana vrtim oko iste stvari, pa ne vidim ono sto bi inace video. Da pokusam...
Ako je u cmb1_change (chk1 = false), odradjuje jednu proceduru. Ako je true - ne odradjuje. I to je to - End if
Ako je u cmd1_click (chk1 = true), odradjuje, ako je false - ne odradjuje - End if.
I kakve sad veze ima dogadjaj cmb1_change i cmd1_click u smislu chk1(true-false) ? Ocigledno IMA, jer da nema ne bi ni bilo ove teme i mog problema. Samo glasno razmisljam. Ako ima prostog objasnjenja voleo bih da ga cujem, jer je ovde ocigledno rec o "2 i 2 su 4", samo meni nije jasno zasto bas 4.
Jos jednom veliko HVALA i pozdrav.
Procedura CMB1_Change() se aktivira kad se desi promena u list boxu CMB1
Promena se desila prvi put pri samom popunjavanju forme,ali promena u list boxu se desava i nakon zatvaranja forme,u momentu kada procedura CMD1_Click() dodeljuje vrednost
Sheets("kupci").Cells(r, 1).Value = CMB1.Value
(list box se prosirio za jedan red)
Znaci do promena je doslo u list boxu CMB1 i to pokrece proceduru CMB1_Change()
Pri ovom drugom prolasku kroz ovu proceduru nova firma se nalazi na listi firmi, upisana je istom onom linijom koda koja je i aktivirala proceduru CMB1_Change(),s tim sto su vrednosti tekuci i mesto prazni, jer procedura CMD1_Click() nije odrdjena do kraja jer je usledio dogadjaj koji je izvrsavanje prebacio na CMB1_Change() i sada text boxovi 8 i 13 uzimaju vrednost prve celije,odnosno druge od naziva firme.
Zato stavljamo uslov da proverimo da li je otkaceno polje novi unos,ako je u piatanju novi unos proceduru CMB1_Change() nema portebe uopste aktivirati.
Nadam se da je objasnjenje tek sada od koristi.
[Ovu poruku je menjao gvlaisavljevic dana 27.12.2009. u 03:09 GMT+1]