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

[Excel] Makro za sređivanje spiska

[es] :: Office :: Excel :: [Excel] Makro za sređivanje spiska

Strane: 1 2

[ Pregleda: 8678 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sudarica

Član broj: 119175
Poruke: 209
*.cmu.carnet.hr.



Profil

icon [Excel] Makro za sređivanje spiska02.12.2006. u 20:24 - pre 212 meseci
Opet trebam pomoć
Toliko se mučim s makro naredbama.
Imam datoteku koju moram u Excelu kompletnog urediti i poslati na adresu preme primatelju. Znači moram složiti sve primatelje po računu, a svaki račun može imati nekoliko svrha. Kada izdvojim svaki taj račun moram ga pospremiti kao knjigu i sa nazivom primatelja npr. Račun.xls na datum koji mi odrede poslati primatelju. Pošto ja to imam i do 100 primatelja molim Vas pomoć ako se ovo može možda urediti makro naredbom.

Pokušala sam sama to napraviti tako da snimam onako kako radim, ali dok primjenim modul na malo veći spisak ne radi dobro, odnosno ne znam šta moram napraviti da se to odnosi na cjelu radnu knjigu a ne na određene redove i kolone odnosno ćelije. Predpostavljam također da postoji mogućnost pospremanja radnih knjiga makronaredbom u jednu određenu datoteku.
Šaljem i primjer jer ne znam dali sam dobro objasnila.
Pozdrav
Prikačeni fajlovi
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.cmu.carnet.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska02.12.2006. u 20:37 - pre 212 meseci
Oprostite zaboravila sam na veličinu datoteke trebala sam pobristati malo više toga.
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
194.106.171.*

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska03.12.2006. u 07:56 - pre 212 meseci
Da, kad imaš više operacija koje treba odaraditi na različitim opsezima - primateljima i snimanje po imenom koje se nađe u toj koloni - snimanje makroa nije idealno rešenje. U tom slučaju makro može samo da ti posluži kao početak, a posle da ručno izmeniš kod.
Podledaću tvoju svesku, pa kad budem imao vremena pokušaću da napravim neko rešenje, ako dotad neko drugi to već ne odradi.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.cmu.carnet.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska03.12.2006. u 09:42 - pre 212 meseci
Zahvaljujem na trudu. Pregledavajući stranice i čitajući Vaša objašnjenja puno sam naučila, a nadam se uz Vašu pomoć da ću naučiti i raditi krupnije makro naredbe. (U stvari već sam napravila nekoliko sitnijih. Tabele uglavnom preuzimam iz drugog programa. Za one manje zahtjevne napravila sam makroe i rade super. Ali ove velike, na koje gubim i po cjeli dan dok ih napravim, ubijaju.
Pozdrav
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.27.*

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska04.12.2006. u 07:44 - pre 212 meseci
Čini mi se da si najveći deo problema napravila sebi pogrešnom organizacijom podataka. Šta god pokušaš da uradiš u takvoj tabeli moraš da se boriš protiv Excela umesto da ti on bude saveznik. Da bi ti Excel služio potrebno je da mu serviraš podatke onako kako on to voli - u vidu liste. U listama prvi red predstavlja zaglavlje, a jedna kolona sadrži isključivo jedan tip podataka. Nema praznih redova, najčešće ni praznih ćelija. Liste ćeš lako sortirati, filtrirati koristeći ugrađene funkcionalnosti excela. Za podatke koji su složeni u vidu liste lako ćeš napraviti totale pomoću pivot tabele.

U attachmentu pogledaj kako sam ja zamislio, pa izmeni kako treba - ja nisam tačno znao namenu svih podatka iz tvoje tabele.

Za formiranje liste možeš da koristiš makro koji će podatke iz originalne specifikacije da prebaci na kraj postojeće liste.

Za formiranje konačanog spiska po računu za jednog korisnika i njegovo čuvanje kao posebnog fajla kao takođe možeš da koristiš makro koji će iz liste prepisati sve potrebne podatke u obliku kom je potrebno. Takav makro biće mnogo lakše da se napravi, jer su podaci sređeni po redovima.

Vidi da li to može da se uradi kako sam ja zamislio, pa da onda pređemo na makroe. Naravno moguće je napraviti automatizaciju i u ovakvoj tabeli kakva jeste - ali kao što sam već rekao - to je jedrenje protiv vetra.

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

Sudarica

Član broj: 119175
Poruke: 209
*.podravka.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska04.12.2006. u 08:35 - pre 212 meseci
To je to
Ja sam pokušala isti sort, po računu i pomoću subtotala po svrhi zbrojiti iznose. Pivot tabele su mi nepoznate odnosno nisam ih koristila pokušaću. Totali mi služe za kontrolu sa drugim dokumentima a izlazna lista je treći korak. Znači ona je ustvari ono glavno u ovom svemu. Tu listu šaljem primateljima i ona mora sadržavati podatke onako kako sam napisala u trećem koraku. Mora biti pospremljena u npr.C:\R...\spisak 10\ Račun.xls znači po primateljima. Neznam dali sam dobro objasnila. Znači sve ovo je super, samo što ja moram malo pogledati Pivot tabele, ali na prvi pogled mi se čine jednostavne. Mislim da ste u potpunosti shvatili sve i da se tako može raditi.
Hvala
Pozdrav
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.podravka.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska04.12.2006. u 09:00 - pre 212 meseci
Sjetila sam se još nečega primatelj može piti sa istim nazivom ali se razlikuje po računu, onda dodajem npr Račun1.xls, a bilo bi idealno da se doda primatelju YYY ili zadnja dva broja Broja računa. Znam da sam nemoguća, ali ako se može..............
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.27.*

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska04.12.2006. u 14:10 - pre 212 meseci
Da li list (treći korak) šalješ primateljima formiraš jedan po jedan - ili za sve primatelje odjednom?

1/ Izbor primatelja
Ako formiraš jedan po jedan list potrebno je na neki način izabrati primatelja za koga se list formira. To može da se uradi tako što ćeš zahtevati od korisnika da unese ili selektuje ćeliju sa nazivom primatelja nakon startovanja makroa:
Code:

Prim = Application.InputBox( prompt:="Selektuj naziv primatelja" )

Prim je ovde promnljiva tipa string. Na sličan način možeš regulisati i druge podatke koje je potrebno uneti (datum, ...) da se formira list koj šalješ.

2/ Određivanje opsega redova u kojem se nalaze podaci
Za zadatog primatelja određuje se opseg redova na listu shPodaci u kome se nalaze podaci startRow do stopRow
Code:

Set shPodaci = ThisWorkbook.Sheets("Lista").
stopRow = shPodaci.Range("A65536").End(xlUp).Row  ' Kraj liste
startRow = shPodaci.Columns("A").Find(Prim, _
        LookIn:=xlValues, lookat:=xlWhole).Row
For rw = startRow + 1 To stopRow
   If shPodaci.Cells(rw, 1).Text <> Prim Then
      stopRow = rw - 1
      Exit For
   End If
Next rw


2/ Otvaranje šablona za slanje
Za formiranje lista koja šalješ čini mi se najlakše da napraviš posebnu radnu svesku koja će sadržati Logotip, naslov (?), odgovarajuće širine kolona - bez konkretnih podatak koje treba popuniti. Ova radna sveska poslužiće kao šablon za formiranje konkretnog lista za primaoca. Za otvaranje radne sveske koristiš metodu Open:
Code:

Set wbk = Workbooks.Open (filename:= ActiveWorkbook.Path & "\SlanjeEmpty.XLS", ReadOnly:=True)
Set shSlanje = wbk.Sheets(1)

Za filename treba da se zada kompletna putanja do radne sveske. U ovom slučaju ja sam pretpostavio da je u istoj fascikli kao i radna sveska u kojoj se makro nalazi. Radnu svesku otvaraš kao readonly jer ćeš je kasnije snimiti pod drugim imenom, a original uvek ostaje prazan. List sa kojim radimo pretpostavio sam da je 1.

3/ Upis podataka u radnu svesku primatelja
Za upis podataka referišeš se na odgovarajuću ćeliju šablona, lista shSlanje i u nju upisuješ odgovarajuće vrednosti iz shPodaci
Code:

'Zaglavlje
shSlanje.Range("B6").Value = pred   'Primatelj
shSlanje.Range("C6").Value = shPodaci.Cells(startRow, 2).Text  ' 10 ZA
shSlanje.Range("B7").Value = shPodaci.Cells(startRow, 3).Text  'Broj racuna
rw = 10
novasvrha = True
' Stavke grupisane po svrsi
Do While startRow <= stopRow
   If novasvrha Then
       shSlanje.Cells(rw, 2).Value = shPodaci.Cells(startRow, 4) ' Svrha
       novasvrha = False
       Iznos = 0
       rw = rw + 2
   End If
   shSlanje.Cells(rw, 1).Value = shPodaci.Cells(startRow, 5).Value ' Namena
   shSlanje.Cells(rw, 2).Value = shPodaci.Cells(startRow, 6).Value ' Opis
   shSlanje.Cells(rw, 3).Value = shPodaci.Cells(startRow, 7).Value ' ZZZ
   shSlanje.Cells(rw, 4).Value = shPodaci.Cells(startRow, 8).Value  ' Iznos
   Iznos = Iznos + shPodaci.Cells(startRow, 8).Value
   rw = rw + 1 ' sledeci red
   startRow = startRow + 1
   If shPodaci.Cells(startRow, 4).Text <> shPodaci.Cells(startRow - 1, 4).Text Then
      rw = rw + 1
      ' Ispisi Total
      shSlanje.Cells(rw, 1).Value = "Ukupno"
      shSlanje.Cells(rw, 1).Font.Bold = True
      shSlanje.Cells(rw, 4).Value = Iznos
      shSlanje.Cells(rw, 4).Font.Bold = True
      rw = rw + 5       ' preskoci redove
      novasvrha = True
   End If
  
Loop


4/ Čuvanje i zatvaranje radne sveske
Na kraju kad je radna sveska formirana treba je snimiti pod ogovarajućim imenom
Code:

sFileName = "C:\Spisak 10\" & prim & "-" & shPodaci.Cells(rw, 2) & ".xls"
wbk.SaveAs sFileName
wbk.Close


u promneljivoj sFileName formiraš naziv radne sveske koji želiš, uključujući i fasciklu u koju se snima. U primeru je naziv tipa RAČUN-10 ZA.xls

To bi otprilike bilo to. Na osnovu ovoga pokušaj da sama napraviš makro za prepis podataka iz početne specifikacie da prepiše na kraj liste sa podacima.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.podravka.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska04.12.2006. u 14:35 - pre 212 meseci
Jedva čekam da to sve proučim. Pivot tabele su lagane nisam ih nikad prije probala raditi a ustvari su super. Javit ću se, zahvaljujem na velikom trudu i ............... dosadna sam sa silnim zahvaljivanjem ali i jako sretna što vi postojite. Javit ću se
Hvala puno
Pozdrav
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: [Excel] Makro za sređivanje spiska04.12.2006. u 15:53 - pre 212 meseci
Sudarice, vidim da cesto imas potrebe da pravis makroe sto vec spada u programiranje a na osnovu potreba koje ti se javljaju, deluje mi da bi ti dobro dosla aplikacija specijalizovana za tvoj posao.
Razmisli o ucenju programiranja u nekom programskom jeziku kao sto je VB.NET ili cak VB6 (ovi makroi i koriste VB sintaksu). Iz njih mozes pristupati Excel-ovom objektnom modelu a mozes postici vise nego makroima.
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.podravka.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska05.12.2006. u 07:39 - pre 211 meseci
Evo pripremila sam sve napravila makro za prvi dio znači sve do trećeg koraka i sada sam unjela Vaš makro kao poseban model. Međutim javlja mi se greška na

Set wbk = Workbooks.Open (filename:= ActiveWorkbook.Path & "\SlanjeEmpty.XLS", ReadOnly:=True)
Set shSlanje = wbk.Sheets(1)


Ja sam otvorilla Datoteku Spisak 10 i tu pospremila radnu knjigu kao predložak koju sam nazvala Predložak.xls Znači put je C:\Spiskovi\Spisak 10\Predložak.xls i tako sam izmjenila u Vašem makrou ali javlja mi grešku. Neznam šta znači ReadOnly:(ne direktni prjevod nego funkciju dali je to nekakovo posebno otvaranje spiska ili je to ono standardno File-open. Moram ići korak po korak jer je za mene ovaj makro kao mjesec i ja pred njim a ne znam kako da ga molim za pomoć.
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.27.*

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska05.12.2006. u 08:53 - pre 211 meseci
Ajde, napiši kako tačno izgelda kod u tvojem slučaju. U priloženoj radnoj sveci uz moju prethodnu poruku imaš kod koji je testiran i radi. Dakle greška je verovatno kod nekih naknadnih izmena tog koda - nova putanja koju si stavila ? Ako si stavilia kompletnu putanju: "C:\...", pretpostavljam da si izbacila ActiveWorkbook.Path - jer je to putanja do tekuće radne sveske. Da li javlja grešku u prevođenju ili prilikom izvršavanja? Ne bi bilo loše da zakačiš i Predložak.xls, mada ne bi trebalo da je u tome greška - bar ne prilikom otvaranja.

Za ReadOnly opciju već sam naveo da služi da otvorimo fajl koji ne želimo da menjamo - original predložak treba da ti ostane uvek prazan, a popunjeni predložak ćeš snimiti pod drugim imenom.

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

Sudarica

Član broj: 119175
Poruke: 209
*.podravka.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska05.12.2006. u 09:28 - pre 211 meseci
'Otvaranje sablonoa
Set wbk = Workbooks.Open("C:\Spiskovi\Spisak 10\Predložak.xls, ReadOnly:=True")
Set shSlanje = wbk.Sheets(1)

Neznam kako trebam napisati. Ovo je put koji sam mislila da moram upisati. Predložak sam pospremila kao i savaku drugu knjigu nisam kao Templete *.xlt
Izgubla sam se,
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.27.*

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska05.12.2006. u 09:51 - pre 211 meseci
Read Only je poseban parametar Open metode. Znaci navoda (") se zatvaraju iza naziva radne sveske.
Set shSlanje ... je novi red - nema direktne veze sa otvaranjem - nego jednostavno daje pogodno (opisno) ime za Sheets(1) u radnoj sveci koje se posle koristi u kodu kao zamena za wbk.Sheets(1)

'Otvaranje sablonoa
Set wbk = Workbooks.Open("C:\Spiskovi\Spisak 10\Predložak.xls", ReadOnly:=True)
Set shSlanje = wbk.Sheets(1)

Predložak i ne treba kao xlt nego xls.

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

Sudarica

Član broj: 119175
Poruke: 209
*.podravka.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska05.12.2006. u 13:58 - pre 211 meseci
Upravo sam sve prilagodila original spisku. I radi sve savršeno. Hvala na podrški i svaka čast na znanju, jer ja sam skoro odustala. Posao je završen i to savršeno. Kako ću se ja odužiti za ovu veliku pomoć?
Velika Hvala
Pozdrav
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.podravka.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska05.12.2006. u 14:27 - pre 211 meseci
Citat:
Shadowed: Sudarice, vidim da cesto imas potrebe da pravis makroe sto vec spada u programiranje a na osnovu potreba koje ti se javljaju, deluje mi da bi ti dobro dosla aplikacija specijalizovana za tvoj posao.
Razmisli o ucenju programiranja u nekom programskom jeziku kao sto je VB.NET ili cak VB6 (ovi makroi i koriste VB sintaksu). Iz njih mozes pristupati Excel-ovom objektnom modelu a mozes postici vise nego makroima.



Rado bi ja to učila ali ja ne znam engleski i zato mi je teško: Makar su mi makro naredbe bile kao div i mravac, ali sada točno znam gdje moram šta ispraviti. Nikad se nezna. Ali možda da krenem korak po korak i da imate živaca za mene kao gospodin "JPeca" možda bi i bilo našto od mene.
Pozdrav.
 
Odgovor na temu

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

Moderator
Član broj: 25683
Poruke: 2268
212.200.27.*

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Makro za sređivanje spiska05.12.2006. u 14:27 - pre 211 meseci
Citat:
Kako ću se ja odužiti za ovu veliku pomoć?

Kad naiđeš na neko pitanje na formu koje znaš (pa makar bilo i iz makroa) , a ti odgovori.

Lepo je čuti da sam nekom pomogao, ali ti u tome preteruješ (i sama si to zapazila jednom prilikom). Forumi i služe da se međusobno pomažemo, koliko ko može.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.podravka.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska05.12.2006. u 14:39 - pre 211 meseci
Svejedno neka pretjerujem ali ja sam sretna što sam našla ovaj forum i što ste mi odgovorili na svako moje postavljeno pitanje i još više da sam ja sve shvatila.
Recite šta god hoćete ali Vi ste zakon. (Šala mala) Još ću se ja javiti, bez brige.
Pozdrav

 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.dialin.iskon.hr.



Profil

icon [Excel] Pospremanje radne knjige u staru mapu ili otvaranje nove mape07.09.2008. u 06:53 - pre 190 meseci
Htjela bi da mi radna knjiga bude pospremljena točno u određenu mapu, a ako nema te mape da otvori novu i pospremi radnu knjigu.

sFileName = "C:\Papir\Račun\Nalozi\" & prim & "-" & shPodaci.Cells(stopRow, 2).Text & ".xls"

wbk.SaveAs sFileName
wbk.Close


- mapa "Nalozi" ,sada se tako zove a trebala bi se zvati " & prim & " (isto kao prvi dio naziva radne knjige). Ako postoji mapa " & prim & " pospremi ju, a ako ne otvori novu i pospremi " & prim & "-" & shPodaci.Cells(stopRow, 2).Text & ".xls"

hvala
pozdrav
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.dialin.iskon.hr.



Profil

icon Re: [Excel] Makro za sređivanje spiska09.09.2008. u 15:38 - pre 190 meseci
hvala rješila sam
 
Odgovor na temu

[es] :: Office :: Excel :: [Excel] Makro za sređivanje spiska

Strane: 1 2

[ Pregleda: 8678 | Odgovora: 34 ] > FB > Twit

Postavi temu Odgovori

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