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

Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom

[es] :: Office :: Excel :: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom

[ Pregleda: 2969 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gledanost

Član broj: 248525
Poruke: 19
*.dynamic.isp.telekom.rs.



Profil

icon Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom21.09.2011. u 12:42 - pre 153 meseci
Imam u jednom folderu oko 350 book-ova cija imena su sifre preduzeca. Svaki book ima 13 sheet-ova koji su isti u svakom book-u ( prvi sheet je isti po formatu i imenu u svim book-ovima (ako je to bitno), i drugi, itd).
Treba mi nacin kako iz svih book-ova uzeti prvi sheet dodeliti mu ime tog book-a ( sifre tog preduzeca) i ubaciti ga u novi book. Tako za svih 350 book-ova i formirati novi book sa odprilike 350 sheetova cija su imena sifre preduzeca. To treba da uradim za svaki sheet ali predpostavljam da ako se uradi za prvi posle samo menjam za drugi i tako redom. Na kraju treba da dobijem 13 novih book-ova sa po odprilike 350 sheetova. Nadam se da sam bio jasan :)
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom21.09.2011. u 20:33 - pre 153 meseci
Probaj ovaj macro, možda ti pomogne

U C:\Temp kopiraj sve tvoje datoteke iz kojih trebaš povući Sheets1, Sheets2 itd...
Kreiraj novu Workbook u kojoj Sheet1 preimenuj u Summary tek toliko da imaš neki Sheet u Workbook i snimi je pod recimo imenom Book1 tako da te asocira na Sheet1 (Book2 => Sheet2)

U Book1 u VBE u Module1 umetni ovaj VBA macro.
Obrati pažnju na postavljene dijelove koda u makronaredbi.

Za svaku Book promijeni ovaj dio koda tj. naziv Sheeta koji povlačiš

With .Sheets("Sheet1")

Code:
Sub KopirajSheetsIzDatoteka()
    Dim myDir As String, fn As String

    myDir = "C:\Temp" 'path staza do foldera u kojem se nalaze datoteke
    fn = Dir(myDir & "\*.xls") 'extenzija za datoteke iz kojih se kopiraju Sheets

    Do While fn <> ""
        With Workbooks.Open(myDir & "\" & fn)
            With .Sheets("Sheet1") 'Sheet koji se zeli kopirati iz datoteka u folderu
                .Name = "" & fn & "" 'naziv kopiranog sheeta je tipa ime.xls
                .Copy After:=ThisWorkbook.Sheets(1)

            End With
            .Close False
        End With
        fn = Dir
    Loop
End Sub
 
Odgovor na temu

gledanost

Član broj: 248525
Poruke: 19
...148.91.adsl.dyn.beotel.net.



Profil

icon Re: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom21.09.2011. u 21:57 - pre 153 meseci
Hvala ti puno na odgovoru, kada pokrenem ovaj macro otvori mi samo prvi book sa svim sheetovima i kaze (run time error '1004' application defined or object defined error ) i ukazuje na ovaj red

.Name = "" & fn & "" 'naziv kopiranog sheeta je tipa ime.xls

Da nije zbog toga sto su sheet-ovi zasticeni i ne mogu se kopirati (to sam strucnjak tek kasnije primetio), a pass nemam trenutno, ne bi znao kako i da imam pass odjednom da otkljucam sve book-ove ili bar sve sheet-ove u jednom book-u, a da radim pojedinacno za svaki sheet dugo je. Ako je lakse da se resi postavicu pitanje na drugi nacin ispod ali bi mi vise odgovaralo resenje za pitanje koje sam na pocetku postavio:

U folderu je 324 book-a, svaki sa 13 sheet-ova koji su isti po imenu ( sheet1 iz book1 = sheet1 iz book 2 ...(sheet2book1=sheet2book2..)). Imena tih book-ova su sifre. U novom book-u imam kolonu sa imenima tih book-ova ( a1= ime book1, a2= ime book2...)Kojom formulom ili macro da mu kazem da uzme celiju recimo B5 iz book1sheet1 i da je upise u taj novi book u celiju b1 i tako redom za sve book-ove?

[Ovu poruku je menjao gledanost dana 21.09.2011. u 23:07 GMT+1]

[Ovu poruku je menjao gledanost dana 22.09.2011. u 08:18 GMT+1]
 
Odgovor na temu

FOX028
Visoka tehnicka skola strukovnih studija
Kosovska Mitrovica

Član broj: 258986
Poruke: 850

Sajt: https://www.zile028.com


+49 Profil

icon Re: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom22.09.2011. u 10:37 - pre 153 meseci
evo ti neko resenje koje sam sklepao na brzaka, saljem ti u prilogu. Napravio sam ti funkciju kojom citas podatke iz nekog drugog fajla. Videces detaljan opis funkcije kada otvoris fajl.
Prikačeni fajlovi
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom22.09.2011. u 15:10 - pre 153 meseci
Citat:
gledanost:  ne bi znao kako i da imam pass odjednom da otkljucam sve book-ove ili bar sve sheet-ove u jednom book-u, a da radim pojedinacno za svaki sheet dugo je.
Podrazumijeva se da znaš sve potrebne lozinke. Ne znam što ti je sve zaključano a što nije i jesu li lozinke iste ili različite
Pogledaj ove linkove ako ti mogu pomoći ako ne, tada googlaj ;)

- Kako otključati sve Workbook in Folder preko VBA
- Kako otključati sve Sheets preko VBA

Također pogledaj link Moguća zaštita Workbook u Excelu

Ako ne možeš to odraditi preko navedenih VBA, sačekaj da ti se netko još javi, u protivnom kreni manualno (što prije kreneš prije ćeš završiti i riješiti problem ;)
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom23.09.2011. u 21:46 - pre 153 meseci
Citat:
gledanost: Da nije zbog toga sto su sheet-ovi zasticeni i ne mogu se kopirati
Evo kolega je riješio problem zaključanih Workbook
Code:
Sub KopirajSheetsIzDatoteka()
' kopiranje odredjenih Sheets iz svih Workbook koje se nalaze u folderu
' Workbook su zasticene passwordom prilikom otvaranja

    Dim myDir As String, fn As String
    myDir = "C:\Temp" 'path staza do foldera u kojem se nalaze datoteke
    fn = Dir(myDir & "\*.xls") 'extenzija za datoteke iz kojih se kopiraju Sheets
    
    Do While fn <> ""
    Workbooks.Open Filename:="" & myDir & "\" & fn, Password:="123"  ' passw
     
             With Sheets("Sheet1") 'Sheet koji se zeli kopirati iz datoteka
                .Name = "" & fn & "" 'naziv kopiranog sheeta je tipa ime.xls
                .Copy After:=ThisWorkbook.Sheets(1)
            End With
             Workbooks(fn).Close False
        fn = Dir
    Loop
End Sub
 
Odgovor na temu

gledanost

Član broj: 248525
Poruke: 19
*.dynamic.isp.telekom.rs.



Profil

icon Re: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom27.09.2011. u 07:59 - pre 153 meseci
Ovo sto si napisao je korisno znati ali mislim da se nismo razumeli. Nisu workbook-ovi zasticeni za otvaranje nego sheet-ovi za editovanje. Mogu ja otvoriti workbook i videti podatke ali ih ne mogu editovati, odnosno ne mogu kopirati ceo sheet. Inace makro je dobar i radi (probao ga na drugom primeru gde nisu zasticeni sheet-ovi) ali me zanima jos da li postoji mogucnost da kada uzima imena book-ova uzme samo ime bez nastavka .XLS ?

[Ovu poruku je menjao gledanost dana 27.09.2011. u 09:44 GMT+1]
 
Odgovor na temu

Ivek33

Član broj: 66174
Poruke: 2898



+66 Profil

icon Re: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom27.09.2011. u 08:41 - pre 153 meseci
Citat:
gledanost: Ovo sto si napisao jre korisno znati ali mislim da se nismo razumeli. Nisu workbook-ovi zasticeni za otvaranje nego sheet-ovi za editovanje.
Ja sam pročitao ovaj tekst ispod pa nisam bio siguran što je problem
Citat:
odjednom da otkljucam sve book-ove ili bar sve sheet-ove u jednom book-u

Ako znaš password za svaki Sheet i ako je on isti na svakom Sheetu tada iskoristi ovaj Macro ispod.
On otključava sve sheets u svim datotekama u folderu C:\Temp koji imaju password 123 Ovaj macro postavi u neki novi workbook u module i pokreni ga iz nekog foldera npr: C:\Folder (samo da nije u istom folderu C:\Temp)
Code:
Sub unprotectWks()
'macro otkljucava all Sheets in each file in folder
    Dim FSO As Object, Folder As Object, file As Object
    Dim wkbSample As Workbook
    Dim wksSample As Worksheet
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Folder = FSO.GetFolder("C:\Temp") 'path staza do foldera
    On Error Resume Next
    For Each file In Folder.Files
        If LCase(Right(file.Name, 4)) = ".xls" Then 'extenzija za sve files
            Set wkbSample = Workbooks.Open("C:\Temp\" & file.Name) 'path staza do foldera
            For Each wksSample In wkbSample.Sheets
                wksSample.Unprotect "123" 'password
            Next wksSample
            wkbSample.Close True
        End If
    Next file
    On Error GoTo 0
 End Sub
 
Odgovor na temu

gledanost

Član broj: 248525
Poruke: 19
*.dynamic.isp.telekom.rs.



Profil

icon Re: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom20.06.2012. u 11:41 - pre 144 meseci
Jel bi moglo da ime sheeta bude samo ime a ne ime.xls, ako moze to da se isparavi bilo bi ekstra,a ako ne, moze li nekim makrom da se izbrise ovaj nastavak kao kod celije funkcijom left ili right za sve sheetove odjednom?
 
Odgovor na temu

[es] :: Office :: Excel :: Uzimanje 1. sheeta iz razlicitih book-ova i vracanje u novi book pod drugim imenom

[ Pregleda: 2969 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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