[ neptuncokg @ 17.08.2009. 20:35 ] @
Pozdrav,
Imam vise problema sa makroima u excelu, ali izdvajam dva za pocetak.
Dakle, u UserForm-u imam TextBox1 koji je namenjen za unosenje datuma. Tu sam postavio sledece:
TextBox1.Text = Date.
Uvek kad startujem program ovo polje je prazno i cim ukucam bilo sta, unese se DANASNJI DATUM. I to je O.K. Problem je sto se ne unosi automatski, vec tek kad kliknem na neku tipku na tastaturi, ali jos veci je u tome sto ne mogu taj DANASNJI DATUM da promenim u neki prethodni. Jednostavno je zamrznut.

Drugi problem glasi: U narednom TextBox-u treba uneti STOPU PDV-a koja je: 8 ili 18 (po Zakonu o PDV-u). Ja sam podesio da "nudi" 18, i to mogu da promenim na 8, ali i na sve druge brojeve, sto je iluzorno. Kako podesiti, odnosno kodirati ovaj TextBox da prihvata samo broj 8 ili 18? Pretpostavljam preko neke IF naredbe, ali koje?

I jedan kratak komentar. Do pre dva meseca sam mislio da znam gotovo sve o excelu, s obzirom da mi kao knjigovodji sluzi kao pomocni program za mnoge stvari vec 10-tak godina. Tek kad sam se navukao na makroe, UserForme i sl. shvatio sam koliko sam u stvari malo znao. Na ovom forumu sam za dva meseca naucio vise, nego sto sam znao prethodnih 10 godina.
Pozdrav svima. Unapred hvala na pomoci.
[ timmy @ 17.08.2009. 21:31 ] @
Evo jednog malog primera koji ce ti pomoci. Dodao sam i Calendar kontrolu da bi upotpunio izbor datuma.



Kod koji pri otvaranju forme upisuje aktuelni datum u textbox u odgovarajucem formatu i popunjava
Combobox sa dve opcije 8% i 18%.

Code:

Private Sub UserForm_Activate()
    TextBox1.Text = Format(Date, "dd.mm.yyyy.")
    ComboBox1.AddItem "8%"
    ComboBox1.AddItem "18%"
End Sub


Dodao sam i Calendar kontrolu preko Tools/Additional Control (u mom slucaju ver 12)
Evo i njenog koda koji ce odabrani datum prepisati u Textbox

Code:

Private Sub Calendar1_Click()
    TextBox1.Text = Format(Calendar1.Value, "dd.mm.yyyy.")
End Sub


I na kraju za Combobox sam promenio osobinu Matchrequired na True koja uz Style 2-DropDown
sprecava da kucas bilo sta vec da biras iz padajuce liste. Zapravo uz odabrano MatchEntry by first letter
ako otkucas 8 dobices 8% a cim pritisnes broj 1 dobices 18%

Eto, tek kao primer.

Pozdrav
[ neptuncokg @ 17.08.2009. 21:59 ] @
Ovo mi deluje da je pravo resenje, samo da malo prostudiram i "ukodiram". Inace, ja vec imam Calendar1 i koristim ga intenzivno na vise pozicija, samo sto nisam znao da ga umetnem i u TextBox UserForm-a. Odnosno, gresio sam u kodovima. Tako to biva kad knjigovodje umesto da knjize hoce i da programiraju.
Nadam se da nece da mi pravi problem ovo sa 8 i 18%, posto je kod mene TextBox a ne ComboBox. Pokusacu, pa se javljam. H V A L A !
[ neptuncokg @ 17.08.2009. 23:10 ] @
Na zalost, ne uspevam nista da uradim sa datumom.
Da pojasnim: unos datuma je u jednom UserForm, a PDV u potpuno drugom, koji nema veze sa prvim.
U prvom, to je kod mene "UserForm4" imam TextBox1 gde treba da se upise datum. Calendar1 imam kao UserForm1 oduvek. E sad treba ispisati naredbu da se taj postojeci (moj) Calendar1 aktivira iz UserForm1 i upise datum u TextBox1 "UserForm-a 4". Treba li da otvaram nov CommandButton u Formi 4, koji aktivira Calendar?
[ neptuncokg @ 18.08.2009. 02:17 ] @
Pozdrav za Timmyja.
Uspesno sam sve uradio vezano za stope PDV 8 ili 18. Funkcionise besprekorno. Hvala.
Sto se tice datuma u TextBoxu, uspeo sam sa opcijom format(date...) da ispisuje tekuci datum sa mogucnoscu promene.
Calendar sam takodje umetnuo u formu, sve je o.k. osim sto posle klika na odredjeni datum u kalendaru on i dalje vidi tekuci - ne uspe da ga upise u TextBox. Evo Codova, ne znam sta ne valja.

Private Sub UserForm_Activate()
TextBox1.Text = Format(Date, "dd.mm.yyyy") - ovo je po tvom predlogu, i to radi (tekuci datum, moze da se menja)
UserForm1.Show ------------------ ovo je moj UserForm1 gde je Calendar, i prikaze Calendar u Formu4 (moja ideja)
End Sub


Private Sub Calendar1_Click()
TextBox1.Text = Format(Calendar1.Value, "dd.mm.yyyy") - kad kliknem i dalje "cuva" tekuci datum, ne upisuje izabrani

End Sub
Ako ima resenja o.k. ako nema i ovako je dobro, mogu da menjam tekuci datum rucno. HVALA.
[ timmy @ 18.08.2009. 07:36 ] @
Obrati paznju na to da li su forme modal ili modeless tj. da li mozes iz jedne forme da
otvoris drugu i da paralelno radis sa obe forme. Tada da bi preneo podatak iz jedne
kontrole na jednoj formi na drugu kontrolu na drugoj formi moras da navedes i ime
ciljne forme. Npr. da pritiskanje dugmeta command1, vrednost textbox1 sa userform1
preneses na textbox1 od userform2

Code:

Private Sub CommandButton1_Click()
    UserForm2.TextBox1 = TextBox1
    UserForm2.Show 0
End Sub


Pozdrav
[ neptuncokg @ 18.08.2009. 08:29 ] @
Ne prenosim ja iz jedne formu u drugu podatak. Meni je Forma 1 - Calendar. Forma 4 ima u sebi TextBox u koji treba ucitati vrednost iz Calendara.
[ neptuncokg @ 18.08.2009. 13:06 ] @
Kratko obavestenje - POSAO OBAVLJEN USPESNO. Doduse, uz malo muke, ali poslednja Timmyeva preporuka je resila problem. Zavrsio bih temu onom Vukovom - "Nije znanje znanje znati, vec je znanje znanje dati". Pozdrav