Da kazemo da sam reiso problem. Evo koda makroa ako nekog zanima evo sta sam radio...
Dakle, postoji glavni fajl (master.xls) i n sporednih u formatu Imei Prezimei.xls (i ide od 1 do n). Svi fajlovi su isti i sadrze 12 sheet-ova (jan, feb, mar...). U celiji d49 svakog od ovih fajlova nalazi suma za taj mesec.
Fajl master.xls sadrzi u Sheet1 tabelu u kojoj se u b koloni upisuju imena radnika (koja su ujedno i imena sporednih fajlova)
Tabela ima ovaj oblik:
1 ! B ! C! D! E ! F ! ...
2 ! Ime Prazime ! prazno ! jan ! prazno ! feb ! ...
3 ! ...
Makro u kolonama jan, feb... upisuje sume iz fajlova Imei Prezimei.xls (d49) za svakog radnika. U B3 (tu ide prvi zapis) se unese Ime i Prezime prvog radnika, u B4 drugog itd. Ovde je podeseno za 100 radnika.
Jedino sto se meni ne svidja je sto kada naidje na u B koloni na praznu celiju, ili na naziv fajla koj ne postoji izleti Error 400 i to je nacin na koji se program zaustavlja. Posto bas i nisam vican pravljenju makroa pokusaji da to premostim nisu bili uspesni.
JPeco, jos jednom puno hvala na pomoci.
Evo dole i koda
Code:
Sub Update()
' Prenosi vrednost celije d49 (sumu) iz tabele sa imenom korisnika u celiju d4 ovog sheeta
Dim ref As Workbook
Dim i As Integer
For i = 3 To 102
Set ref = Workbooks.Open(ThisWorkbook.Path & "\" & ThisWorkbook.Sheets(1).Range("b" & i) & ".xls")
ThisWorkbook.Sheets(1).Range("d" & i).Value = ref.Sheets(1).Range("d49")
ThisWorkbook.Sheets(1).Range("f" & i).Value = ref.Sheets(2).Range("d49")
ThisWorkbook.Sheets(1).Range("h" & i).Value = ref.Sheets(3).Range("d49")
ThisWorkbook.Sheets(1).Range("j" & i).Value = ref.Sheets(4).Range("d49")
ThisWorkbook.Sheets(1).Range("l" & i).Value = ref.Sheets(5).Range("d49")
ThisWorkbook.Sheets(1).Range("n" & i).Value = ref.Sheets(6).Range("d49")
ThisWorkbook.Sheets(1).Range("p" & i).Value = ref.Sheets(7).Range("d49")
ThisWorkbook.Sheets(1).Range("r" & i).Value = ref.Sheets(8).Range("d49")
ThisWorkbook.Sheets(1).Range("t" & i).Value = ref.Sheets(9).Range("d49")
ThisWorkbook.Sheets(1).Range("v" & i).Value = ref.Sheets(10).Range("d49")
ThisWorkbook.Sheets(1).Range("x" & i).Value = ref.Sheets(11).Range("d49")
ThisWorkbook.Sheets(1).Range("z" & i).Value = ref.Sheets(12).Range("d49")
ref.Close (False)
Next i
End Sub