pomozite mi molim vas oko makroa.
U pitanju je sledece.
Do sada sam imao sledece :u 10 identicnih .xls fajlova bio je samo jedan Worksheet zvao se TI, sa popunjenim brojnim vrednostima, protectovan i Workbook i Worksheets.U root C smesteni fajlovi.
U novom fajlu koji je imao isti worksheet TI, sam trebao sabrati vrednosti u celijama napr.A5

Sada imam sledecu situaciju:
Novi protect .xls fajl ima 4 Worksheets PL, KF, TI i OS.(redom su navedeni Sheets kao 1..4)
Takodje zelim sabrati vrednosti recimo iz Sheet TI isto A5

(ovaj put svuda gde je bilo (0-19) sada treba da stoji (0-54)).
Treba mi pomoc oko toga, gde se u Code ispravljaju brojevi kada se poziva Workbook i Worksheets?
Ovaj Code sada ne moze funkcionisati, jer je ranije TI bio Sheets (1), a sada je TI Sheets (3) te je potrebno ispravno pozvati Workbook i Worksheets.
Gledao sam i citao kako se poziva odredjeni Workbook i Worksheets iz VBA, ali mi ne ide jednostavno (redovi 18, 29 i 35).
Neko mi moze sigurno sa ulozenim trudom pomoci i ustedeti skoro sate koje sam proveo menjajuci vrednosti za Workbook i Worksheets.
Ujedno se na kraju prikaze Msg Box koliko je izbrojano fajlova.
Sub ti()
Dim a(0 To 19) As Double
Dim rezultat(0 To 19) As Double
Dim BrojCelije As Long
Dim Brojac As Long
Dim NemaFajlova As Boolean
Dim celija As Range
Dim celijasve As Range
Brojac = 0
For BrojCelije = 0 To 19
rezultat(BrojCelije) = 0
Next BrojCelije
Do Until NemaFajlova = True
DoEvents
BrojCelije = 0
Brojac = Brojac + 1
Excel.Workbooks.Open ("C:\ti" & Brojac & ".xls")
For Each celija In Workbooks(2).Worksheets(1).Range("A5:D9")
If InStr(1, celija.Formula, "SUM") = 0 And celija.AllowEdit = True Then
a(BrojCelije) = celija.Value
rezultat(BrojCelije) = rezultat(BrojCelije) + a(BrojCelije)
BrojCelije = BrojCelije + 1
End If
Next celija
Excel.Workbooks(2).Close
If Dir("C:\ti" & Brojac + 1 & ".xls") = "" Then NemaFajlova = True
Loop
BrojCelije = 0
For Each celijasve In Workbooks(1).Worksheets(1).Range("A5:D9")
If InStr(1, celijasve.Formula, "SUM") = 0 And celijasve.AllowEdit = True Then
celijasve.Value = rezultat(BrojCelije)
BrojCelije = BrojCelije + 1
End If
Next celijasve
Excel.Workbooks(1).Save
MsgBox "Broj sabranih fajlova je " & Brojac
End Sub
Hvala unapred