Šta je novo?

Excel: Iz tabele u Form (formular) ?

vladoA

Slavan
Učlanjen(a)
14.12.2004
Poruke
98
Poena
309
Slika objasnjava sve, dakle ako imam vise osoba i podataka, a onda zelim za svakog od ucenika na kraju polugodista da istampam zaseban listic na kome ce pisati njegove ocene i prosek, kako to da uradim ?

Dakle kao na slici, samo sto je u stvarnosti recimo 300 ucenika, da ne bi pravio 300 formulara, predpostavljam da sigurno moze nekako jedan formular (listic) koji ce se puniti podacima iz tabele i onda automatski stampati za svakog ucenika pojedinacno.

excel.JPG
 
Ако ти треба објашњење јави.
Да би било прегледније ставио бих твој форм на други лист, нек остане на истој позицији D9:Е19 чисто због прегледности, док би ти на првом листу остала листа са тих 300 ученика. Ако га стављаш негде другде, промени и референце у формули и доле у коду за макро.


У пољима од Е15 до Е19 стави формулу коју сам доле ставио и само мењај задњу цифру 3,4,5....до задње колоне са просечном оценом.
Уместо Sheet1! можеш да ставиш назив твог првог радног листа - ученици, оцене.. како год да си га назвао. Поље Е10 сам искористио за позивање редног броја из табеле као референце за повлачење података.

=INDEX(Sheet1!$B$2:$Н$6;MATCH(Е$10;Sheet1!A$2:A$6;0);3)

Ако имаш 300 ученика онда ће ти опсег бити од А$2:А$301 или стави и до А1000 ако ћеш још да додајеш.


Када завршиш са формулом копирај овај макро, све са коментарима, и врати се на лист 2:


Sub ucenici()


' ucenici Macro

' Macro recorded 19.10.2005 by CyberGasty

' Keyboard Shortcut: Ctrl+u


Zred = Sheets("Sheet1").Range("A65536").End(xlUp).Row

For m = 2 To Zred

x = Sheets("Sheet1").Cells(m, 1).Value

Range("E10").Value = x

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

' овaј ред изнад ти је штампање активног листа 2. Уколико желиш можеш и да урадиш пре штампања Set Print Area у ком случају ћеш употребити код испод'
' Range("E3:F13").Select

' ActiveSheet.PageSetup.PrintArea = "$D$9:$E$19"

' ActiveWindow.SelectedSheets.PrintOut Copies:=1


Next m

End Sub



У пољима где ти је име и презиме ученика ставиш исто функцију
=INDEX(Sheet1!$B$2:$Н$6;MATCH(Е$10;Sheet1!A$2:A$6;0);1)

За презиме 1, а за Име 2, јер је презиме једну колону удесно од редног броја, а име две колоне удесно
 
Poslednja izmena:
Извини у послу сам па сам направио грешку у:
' Range("E3:F13").Select
треба
' Range("D9:E19").Select
 
CyberGasty hvala ti !
Nisam ocekivao da ce neko odgovoriti, sada cu da probam tvoje resenje pa cu da javim sta sam uradio.
 
Izgleda da ce da radi, jedino sto ne mogu da proverim sta stampa, jer nemam stampac kod kuce, u svakom slucaju excel stampaču posalje onoliko formulara koliko je dece u tabeli.

E sad imam nekoliko pitanja polje E10 si iskoristio kao referencu za povlacenje podataka, kod mene je E10 prazno kao sto se vidi na slici, pa da bi radila formula koju su mi dao ja sam ga povezao sa poljem A2 formulom E10=Sheet1!A2, da li je to OK ?

Inace formula kako si je ti napisao nije htela da radi na copy/paste nacin, pa je na kraju uspela da prodje ali bez $ znaka kod oznaka polaj, tj, sada polja vise nisu apsolutna vec releativna, nadam se da ce biti OK.

Nestrpljiv sam da odstampam da vidim rezultat.
Hvala opet!!!
 
У пољу Е10 не мораш ништа да стављаш јер ће се оно аутоматски попуњавати када покренеш макро; макро сам попуњава вредности из колоне А.

Иначе распон В2:Н6 у формули се односи на оно што се види на слици, у случају да имаш више ученика и више предмета Н6 неће бити задње доње десно поље твоје табеле, већ неко друго.

Апсолутне вредности су у формули INDEX из простог разлога што сам из првог поља са оценама копирао на доле и да се не би мењала референца. Уколико ћеш ручно да уносиш у сваку од тих ћелија наравно да нема потребе за њом.

на оном другом форуму имаш фајл у коме сам радио, чисто да видиш како ради.
Ако хоћеш да провериш да ли штампа инсталирај генеричко текст штампач и штампај у текст фајлове.
Да ти не објашњавам како се он инсталира имаш овде:

http://support.mfm.com/support/std_procedures/xpgenericprinter.html
 
Poslednja izmena:
CyberGasty je napisao(la):
У пољу Е10 не мораш ништа да стављаш јер ће се оно аутоматски попуњавати када покренеш макро; макро сам попуњава вредности из колоне А.
То сам урадио јер ми је избацио грешку у формули приликом копирања у одговарејуће поље. Вероватно све ради ок, када дефинишем макро.
Иначе распон В2:Н6 у формули се односи на оно што се види на слици, у случају да имаш више ученика и више предмета Н6 неће бити задње доње десно поље твоје табеле, већ неко друго

Апсолутне вредности су у формули INDEX из простог разлога што сам из првог поља са оценама копирао на доле и да се не би мењала референца. Уколико ћеш ручно да уносиш у сваку од тих ћелија наравно да нема потребе за њом.
Да, тако сам и мислио.
на оном другом форуму имаш фајл у коме сам радио, чисто да видиш како ради.
Ако хоћеш да провериш да ли штампа инсталирај генеричко текст штампач и штампај у текст фајлове.
Да ти не објашњавам како се он инсталира имаш овде:

http://support.mfm.com/support/std_procedures/xpgenericprinter.html
Заиста хвала ти, пуно си ми помогао, имаш пиво за ово ако икада забасаш у Бг, или ја у Швицу. :cheers:
 
Poslednja izmena:
Nazad
Vrh Dno