[ hipomiki @ 24.06.2011. 12:01 ] @
Evo ovako
Pokusavam da napravim jedan dokument. Prvi i osnovni problem mi predstavlja hide celije. Da postoji opcija hide cells ali meni nije to cilj. Gore imam zaglavlje koje jedan deo je izmenljiv a u drugom je slicica. U podnozju postoji deo koji je fiksiran i on se nemenja. Problem je vise stampa nego li sam izgled. Celije treba da budu hide ako nema unosa u iste. Napravljena je kao tabelica koja ima 6 kolona i 21 red. Znaci stvar je da budu hide ovi redovi ako nije ubelezeno nista u iste. Drugi problem je da iz drugog sheeta povucem u te redove podatke . Neki podaci trebaju da se sabiraju i izracunavaju u toj tablici . Ne znam da li me shvatate sta zelim ali pojasnicu ako neko zna da mi pomogne sta da radim. Moze i VB ali mi treba pojasnjenje kako
Hvala svima
[ Ivek33 @ 24.06.2011. 13:28 ] @
Citat:
hipomiki: Ne znam da li me shvatate sta zelim....................... Moze i VB ali mi treba pojasnjenje kako
Još da si prikačio ovdje primjer tvoje Workbook bilo bi sve "5"
Ovo je macro za skrivanje redova baziran na stupcu B
Code:
Sub HiddenRow()
ColumntoDelete = "B"
For i = Cells(Rows.Count, ColumntoDelete).End(xlUp).Row To 1 Step -1
If Cells(i, ColumntoDelete) = "" Then Cells(i, "B").EntireRow.Hidden=True
Next i
End Sub

Kopiraj ga u Sheet na kojem želiš sakriti prazne redove. Dakle klikni na naziv Sheet-a desnom tipkom miša => View Code => zalijepi ga u Code Window u desnom dijelu VBE. Pokrećeš ga sa Alt+F8 => Selektiraš naziv makronaredbe "deleteRow" => klik na Run
Sad u ti se sakrili svi redovi koji su u stupcu B bili prazni a to se odrazilo na sve stupce

[edit]:izvršena ispravka "Cells(i, "B").EntireRow.Delete" u "Cells(i, "B").EntireRow.Hidden = True".

[Ovu poruku je menjao Ivek33 dana 25.06.2011. u 15:05 GMT+1]
[ Brodoplovac @ 24.06.2011. 13:45 ] @
Ivek, promeni "Cells(i, "B").EntireRow.Delete" u "Cells(i, "B").EntireRow.Hidden = True".
Čak i posle ove promene, makro će samo sakrivati redove, ali ih neće otkrivati.



Ovo je izuzetno brz način skrivanja redova. On takođe otkriva redove kada se podaci naknadno upišu.
Na jednom Sheetu se upisuju originalni podaci. U drugom Sheetu se ti isti podaci kopiraju sa:
=IF(isblank(Original!A1);"text";Original!A1)
Kao što vidite formula stavlja ili originalni broj, a ako broja nema onda se vraća tekst. Sada se primeni donji makro.

Private Sakrivanje()
On Error Resume Next
Range("A1:A100").SpecialCells(xlCellTypeFormulas, xlTextValues).EntireRow.Hidden = True
Range("A1:A100").SpecialCells(xlCellTypeFormulas, xlNumbers).EntireRow.Hidden = False
On Error GoTo 0
End Sub

@hipomiki
Stvarno bi bilo lepo da staviš ovde neki XLS primer.



[Ovu poruku je menjao Brodoplovac dana 24.06.2011. u 15:00 GMT+1]
[ hipomiki @ 24.06.2011. 14:24 ] @
Nisam nasao gde je ovde upload fajla pa sam uploadovao na megaupload pa vidite
http://www.megaupload.com/?d=76TUHQMS
Izvinjavam se sto je tako
[ Brodoplovac @ 24.06.2011. 16:58 ] @
@hipomiki
Kada se post pojavi u threadu onda ispod posta imaš dugme Upload. Znači, prvo postuješ a posle dodaješ slike ili fajlove. Više na http://www.elitesecurity.org/t...TATI-prije-otvaranja-nove-teme

Postavio si XLS sa originalnim podacima, ali ja se ne snalazim u tom fajlu.
Da li bi mogao da napraviš neki jednostavni workbook, u njemu primer onoga što želiš i da napišeš u samom workbooku pored tabela i podataka šta tačno treba da se uradi.

[ hipomiki @ 25.06.2011. 09:42 ] @
Prvi sheet je bitan ovo ostalo nije toliko vazno. Znaci u sheet-u nayiv treba da se sakriju celije tablice koji nemaju unos. Mislim da je to to ako mozes reci kako a ja cu da uradim. Jedino ostalo sto je vazno da se posle vuku podaci iz drugih sheetova ali prvo da sredim ovo hide
[ Brodoplovac @ 25.06.2011. 12:57 ] @
U koloni "B" treba da imaš formulu koja ostavlja tekstualni podatak ako želiš da red bude otkriven, a numerički podatak ako želiš da red bude sakriven. Sakrivanje/otkrivanje radiš klikom na dugme.

Prilikom otvaranja Workbooka, automatski će biti prikazani svi redovi.

VBA kod se nalazi u VBA modulu i u Workbook modulu.
[ Ivek33 @ 25.06.2011. 13:57 ] @
Citat:
Brodoplovac: Ivek, promeni "Cells(i, "B").EntireRow.Delete" u "Cells(i, "B").EntireRow.Hidden = True". Čak i posle ove promene, makro će samo sakrivati redove, ali ih neće otkrivati.
Hvala na upozorenju, kopirao sam taj code ovdje sa foruma a nisam obraćao pažnju. Više sam se bazirao na jednokratnu upotrebu brisanja redova prije samog printanja, bez snimanja workbook.
Tvoja opcija mi se više sviđa

btw: uvijek može otkriti redove sa "UNHIDE"
pozdrav obojici
[ 3okc @ 26.06.2011. 13:59 ] @
Kako sam ja shvatio problem koji imaš, rešava ga običan AutoFilter: samo iz prikaza isključiš "Blanks".

Takođe, sve ovo što radi makro možeš prečicama na tastaturi, a pitanje je samo koliko ti često treba sakrivanje.

CTRL+G, ALT+S -otvara Go To Special dijalog, a
CTRL+9 -sakriva redove obeleženih ćelija. (Nad istim opsegom CTRL+SHIFT+9 ih opet otkriva.)
[ hipomiki @ 27.06.2011. 08:54 ] @
Ljudi problem je i dalje prisutan. Makro u redu i ove precice takodje ali ne znam da li ste shvatili kompletno sav problem. Moze li pojasnjenje kako da iz onog sheet-a robe povlacim podatke odnosno da vrsim odabir u sheetu nayiv. Odredjene delove treba povuci a najbitnije je iz roba:sfr:naziv u nayiv:naziv
Ako moze to pa onda hide i eto tako resavamo komplet
[ Brodoplovac @ 27.06.2011. 09:54 ] @
Ja sam ti donekle rešio problem.
Izabereš proizvod iz padajuće liste i automatski ti bude upisana cena za dati proizvod.
Problem je što je padajuća lista visine 8 redova (i ne može se povećati), a ti imaš 1000 proizvoda. Dok pronađeš pravi proizvod ima da crkneš.

Ja vidim dva rešenja:
1) Svaki proizvod ima šifru. Šifru saznaš preko bar koda i fiskalne kase. Sada tu šifru iskoristiš da pronađeš dati proizvod.
2) Moraš da razbiješ listu proizvoda na grupe. Npr. periferije, komponente, konfiguracije... Onda koristiš duplu padajuću listu. U prvoj padajućoj listi pronađeš grupu u kojoj se nalazi proizvod koji tražiš. U drugoj padajućoj listi potražiš tačan proizvod iz date grupe. Ovde je bitno da ti sam napraviš te grupe. Grupa je poželjno da imaš oko 30.
[ hipomiki @ 27.06.2011. 10:55 ] @
Super je ovo a videcu da kao sto si ti rekao da razdelim na grupe. Hvala puno ako se nesto pogubim vikacu UPOMOC :)
[ hipomiki @ 27.06.2011. 15:03 ] @
Evo ponovo vicem UPOMOC. Dobro u redu sve ali evo ovako sta je sada problem.U sheetu "par" imam preko 600 unosa a treba gore gde su merge cells da bude neki podaci iz tog sheet-a. Mislim da je najlakse ctr+f u tom sheetu i copy/paste gde treba. Mozda postoji neko elegantnije resenje sto bi bilo lepo. Sve moze to u drugom programu da se odradi elegantnije i lepse ali me zanima da li moze i kako moze
[ Ivek33 @ 28.06.2011. 08:07 ] @
Citat:
hipomiki: Evo ponovo vicem UPOMOC.
Koliko ja vidim ti radiš nešto slično kao obrazac RAČUN-FAKTURA. Pogledaj dotični link možda ti može pomoći. Na njemu imaš dosta makronaredbi a imaš i mogućnost downloada sa svim funkcionalnim formulama. Također imaš filtriranje nakon završenog unosa stavki na obrazac. Probaj si uzeti dijelove i upotrijebiti za svoj problem ;)
[ hipomiki @ 28.06.2011. 10:50 ] @
Ivek33 hvala ti znao sam za ovo ali dobro da si me podsetio. Dve glave bolje znaju nego jedna. Hvala i super je sve