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

Forma sa popunjavanjem razlicitih celija

[es] :: Office :: Excel :: Forma sa popunjavanjem razlicitih celija

[ Pregleda: 2178 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mirko1949
Miroslav Magdić
Kragujevac

Član broj: 87134
Poruke: 216
*.dynamic.isp.telekom.rs.



+2 Profil

icon Forma sa popunjavanjem razlicitih celija30.04.2010. u 20:42 - pre 170 meseci
Ako imam UserForm kojom unosim podatke sa sledecim kodom:

Private Sub CommandButton1_Click()
ThisWorkbook.Worksheets("Tabelle1").Range("E2").Value = TextBox1.Value
End Sub

hteo bih da prilikom sledeceg unosa (klikom na CommandButton1) podatak bude unet u neku drugu tacno odredjenu celiju npr E22 pa tako redom posle toga u E42, E62 ....itd.
Kako ovo izvesti
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
*.wimax.verat.net.

Sajt: www.gowi.rs


+109 Profil

icon Re: Forma sa popunjavanjem razlicitih celija30.04.2010. u 21:35 - pre 170 meseci
Prvo, pošto svaki put treba udaljiti ćeliju za 20 redova čini mi se zgodnije korišćenje Cells svojstva da se referencira ćelija umesto relativne reference "E2"

Drugo, da bi se zapamtio red koji se ažurirao može se koristiti statička promenljiva. Na taj način kod bi bio
Code:
 Private Sub CommandButton1_Click()
 Static mrow As Long
 ThisWorkbook.Worksheets("Tabelle1").Cells(mrow + 2, 5).Value = TextBox1.Value
 mrow = mrow + 10
End Sub


Na ovaj način prilikom svake inicijalizacije forme počeće se upis od E2.Alternativa je da poslednu izmenjenu vrednost upišeš u pomoćnom listu u fisknoj ćeliji.

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

mirko1949
Miroslav Magdić
Kragujevac

Član broj: 87134
Poruke: 216
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Forma sa popunjavanjem razlicitih celija30.04.2010. u 22:25 - pre 170 meseci
Ovo je dobro, ali imam jos jedan problem. Naime kada sam koristio "mrow = mrow + 10" posle zatvaranja forme i ponovnog otvaranja ponovo se popunjava celija E2, a ja bih hteo da nastavi tamo gde sam stao tj. ako je zadnja popunjena celija bila E122 da mi posle ponovnog otvaranja forme ide direktno na sledecu celiju (E132). Mozda je to u pomenutoj alternativi pa ako moze malo pojasnjenje. Hvala
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
*.wimax.verat.net.

Sajt: www.gowi.rs


+109 Profil

icon Re: Forma sa popunjavanjem razlicitih celija01.05.2010. u 07:57 - pre 170 meseci
Ideja je jednostavana - sačuvaj svaki put broj reda koji je popunjen u pomoćnu ćeliju i uvećaj ga prilikom sledećeg izvrašavanja.

Code:
Private Sub CommandButton1_Click()
Dim mrow As Long
 mrow = ThisWorkbook.Worksheets("Pom").Range("B1").Value + 20
 ThisWorkbook.Worksheets("Tabelle1").Cells(mrow, 5).Value = TextBox1.Value
 ThisWorkbook.Worksheets("Pom").Range("B1").Value = mrow
End Sub


Inicijalna vrednost pomoćne ćelije je -18. Unos će se nastaviti od poslednjeg reda i u situaciji kad zatvoriš, pa ponovo otvoriš tabelu.

Ukoliko svaki put kad otvoriš tabelu hoćeš da ti počne od drugog reda postavi u događaj Workbook_Open radne sveske vrednost pomoćne ćelije na -18. U tom slučaju elegatnije rešenje je da koristiš Public promenjivu mrow koju deklarišeš na nivou modula iz kog pozivaš formu. U prethodnom kodu jednostavno izbaciš deklaraciju Static,



[Ovu poruku je menjao Jpeca dana 01.05.2010. u 09:18 GMT+1]
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

mirko1949
Miroslav Magdić
Kragujevac

Član broj: 87134
Poruke: 216
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Forma sa popunjavanjem razlicitih celija01.05.2010. u 11:17 - pre 170 meseci
Hvala, ovo ce biti dobro. Ipak imam jos nesto. U formi imam vise TextBox-a, OptionButon-a, ComboBox-a. To znaci da svaki preskace po izvestan broj celija. Kako ovim jednim CommandButton postici da za svaki od navedenih boxova kod funkcionise.
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
*.wimax.verat.net.

Sajt: www.gowi.rs


+109 Profil

icon Re: Forma sa popunjavanjem razlicitih celija02.05.2010. u 18:55 - pre 170 meseci
Pretpostavljam da svaka od navedenih kontrola upisuje vrednost u ćeliju. U tom slučaju za svaku kontrolu imaćeš nešto ovako:

ThisWorkbook.Worksheets("Tabelle1").Cells(red, kolona).Value = vrednost kontrole

a/ Ako se sve vrednosti upisuju u isti red onda je red = mrow iz prethodnog primera, a vrednost kolone menjaš.

b/ Ako se podaci ne upisuju u isti red nego u različite redove ali postoji izraz kojim se može izračuanati red u koji treba upisati, ako je poznat red za prvu kontrolu, onda za prvu kontrolu pišeš red = mrow, a za sledeće kontrole red zameniš odgovarajućim izrazima tipa a*mrow + b

c/ Ako se podaci ne upisuju u isti red nego u različite redove i ne postoji izraz kojim se mogu povezati ovi redovi onda za svaku kontrolu pamtiš prethodnu poziciju i onda je uvećavaš. Znači za svaku kontrolu imaćeš odgovrajuću promenljivu mrow1, mrow2, mrow3 itd i po tri reda kao u prethodnom primeru.
Code:
Private Sub CommandButton1_Click()

Dim mrow1 As Long, mrow2 As Long
' Upisuje se prva kontrola
 mrow1 = ThisWorkbook.Worksheets("Pom").Range("B1").Value + 20
 ThisWorkbook.Worksheets("Tabelle1").Cells(mrow1, 5).Value = TextBox1.Value
 ThisWorkbook.Worksheets("Pom").Range("B1").Value = mrow1
' Upisuje se druga kontrola
 mrow2 = ThisWorkbook.Worksheets("Pom").Range("B2").Value + 10
 ThisWorkbook.Worksheets("Tabelle1").Cells(mrow2, 7).Value = TextBox2.Value
 ThisWorkbook.Worksheets("Pom").Range("B2").Value = mrow2
'...

End Sub


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

mirko1949
Miroslav Magdić
Kragujevac

Član broj: 87134
Poruke: 216
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Forma sa popunjavanjem razlicitih celija03.05.2010. u 09:48 - pre 170 meseci
Hvala na pomoci
 
Odgovor na temu

[es] :: Office :: Excel :: Forma sa popunjavanjem razlicitih celija

[ Pregleda: 2178 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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