Mam plik arkusza kalkulacyjnego w którym jest wiele arkuszy. Arkusz służy do podsumowania roku dla pracowników. Każdy arkusz w pliku jest dla danego pracownika. W trakcie roku dodaję dodatkowe arkusze dla nowych pracowników.
Na końcu za arkuszami pracowników mam arkusze podsumowania miesięczne od Stycznia do Grudnia oraz na końcu roczne.
Nazwy poszczególnych arkuszy są w formie NAZWISKO_IMIE.
Nie mogę zmienić nazw na Arkusz1 Arkusz2 Arkusz3 itd bo nie będę wiedział zanim otworzę arkusz kogo on dotyczy.
Do rzeczy:
Chcę w ostatnich arkuszach podsumowujących miesiące i rok aby dane pobierały się tam z wszystkich arkuszy pracowników.
Znalazłem na tym forum funkcję która wyrzuca mi listę wszystkich arkuszy w danym pliku.
Funkcja
Kod: Zaznacz cały
Function NazwyArkuszyBiezacySkoroszyt() As Array
NazwyArkuszyBiezacySkoroszyt = NazwyArkuszy(ThisComponent)
End Function
Function NazwyArkuszy(d As Object) As Array
s = d.Sheets
Dim nazwy(0 To s.Count-1, 0 To 0)
For i = 0 To s.Count-1
nazwy(i, 0) = s.GetByIndex(i).Name
Next i
NazwyArkuszy = nazwy
End Function
Kod: Zaznacz cały
function ark_nazwa(numer as integer)
on error goto koniec
ark_nazwa = thisComponent.Sheets.getByIndex(numer).name
exit function
koniec:
ark_nazwa="Nie ma takiego arkusza"
end function
Czyli dla jasności w kolumnie A w wierszach od 2 do powiedzmy 50 mam wpisane cyfry od 0 do 49 oraz za pomocą Funkcji =ARK_NAZWA(A2) w polu B2 wyrzuca mi nazwę Arkusza w formie KOWALSKI_JAN. W kolejnej kolumnie chciałbym aby pobrały mi się wszystkie dane z pola np. B2 z każdego arkusza z tego pliku...
Jednak odwołanie "=$B2.B2" nie działa...
Próbowałem wersji "=$'B2'.B2" oraz "=$"B2".B2"... też nie działa...
Szukam w google rozwiązania ale nie umiem znaleźć tego czego potrzebuję...