[ gledanost @ 21.06.2011. 08:43 ] @
Imam svesku sa dosta listova, prvo bi mi trebala neka funkcija ili makro koji ce da imena tih listova vrati u novom listu kao celiju. Na primer ime jednog lista je 22222, u novom listu recimo da se zove spisak da celija A1 bude 22222, ime drugog lista je 22235 da celija A2 u listu spisak bude 22235 i tako da prodje kroz celu svesku. Potom u svim tim listovima imam identicnu tabelu sa razlicitim podacima. Treba mi funkcija ili makro koji ce u novom listu recimo da se zove zbir, da sabere sve podatke iz prethodnih listova, tako sto ce celiju A5 iz jednog lista sabirati sa celijom A5 iz drugog itd. Hvala
[ neptuncokg @ 21.06.2011. 09:36 ] @
Za zbir istih celija iz svih sheetova ne treba ti makro, to se postize jednostavnom funkcijom - pogledaj sheet "ZBIR" i funkcije u A1, A2, A3... u attachu.
Spisak sa nazivima (Name), rednim brojevima (Index) svih sheetova mozemo dobiti na vise nacina. Najjednostavniji je uz koriscenje For-Each petlje - pogledaj makro u Modulu 1. Pozdrav
[ gledanost @ 21.06.2011. 09:58 ] @
Kako to izgelda prosto i jednostavno kad neko zna :)).
Jos sredjujem podatke na koje ovo treba da primenim pa ne znam hoce li raditi kako sam ja zamislio, ali koliko vidim mislim da hoce.
Hvala punoo
[ Brodoplovac @ 21.06.2011. 15:40 ] @
Ovaj makro će raditi i ako imaš ChartSheetove. Rezultate stavlja u "Lista" sheet od ćelije A1 pa nadalje.

Sub subSheetovi()
Dim lngSheetova As Long
Dim arrVektor() As Variant
Dim i as long
lngSheetova = ThisWorkbook.Sheets.Count
ReDim arrVektor(1 To lngSheetova, 1 To 2)
For i = 1 To lngSheetova
arrVektor(i, 1) = i
arrVektor(i, 2) = Worksheets(i).Name
Next i
Worksheets("Lista").Range("A1").Resize(lngSheetova, 2).Value = arrVektor
End Sub

Ne zaboravi da formula koju je stavio Neptun radi samo za sheetove koji čine jedan niz. Ako promeniš raspored sheetova može da dođe do problema. Ako nameravaš da menjaš raspored sheetova onda je bolje da koristiš Consolidate dijalog. Više na youtubu:
http://www.youtube.com/watch?v=7OOyvHttkdU