Użytkownik "Antoni" <antoni_luczkiewiczWYTNIJTO@poczta.onet.pl> napisał w
wiadomości news:374c.00000116.46bb5432@newsgate.onet.pl...
> Witam,
> w skoroszycie Excela mam kilkaset arkuszy - jak znaleźć jeden z nich?
> Arkusze
> nie są poukładane w żadnej sensownej kolejce więc szukanie na oko, jest
> straszną katorgą. Czy jest możliwość zrobienia jakiegoś indeksu w osobnym
> arkuszu (np. z hiperłączami?) Czy jest jakaś opcja "wyszukaj arkusz"?
1) Narzedzia -> Makro -> Edytor Visual Basic
2) Insert -> Module (pojawi sie Module1)
3) Kliknij dwukrotnie Module1 i wklej do okna, ktore sie pojawi poniższy
kod:
Sub findWorkSheet()
UserForm1.Show
End Sub
4) Insert -> UserForm (pojawi sie UserForm1)
5) Umiesc w okienku UserForm1 kontrolke ComboBox.
6) Kliknij dwukrotnie ComboBox i, kasujac to, co juz jest w srodku, wklej do
okna, ktore sie pojawi poniższy kod:
Sub populateCombo()
Dim tempWorksheet As Worksheet
Dim x, totalSheets
x = 1
ComboBox1.Clear
totalSheets = ThisWorkbook.Sheets.Count
Do While x <= totalSheets
Set tempWorksheet = Sheets(x)
ComboBox1.AddItem (tempWorksheet.Name)
x = x + 1
Loop
End Sub
Sub DoesSheetExist()
Dim wSheet As Worksheet
On Error Resume Next
Set wSheet = Sheets(ComboBox1.Text)
If wSheet Is Nothing Then
Set wSheet = Nothing
On Error GoTo 0
Else
wSheet.Activate
Set wSheet = Nothing
On Error GoTo 0
End If
End Sub
Private Sub ComboBox1_Change()
DoesSheetExist
End Sub
Private Sub UserForm_Activate()
populateCombo
ComboBox1.SetFocus
End Sub
7) Pozamykaj wszystkie okna i edytor VB
8) W Excelu: Narzedzia -> Makro -> Makra
9) Zaznacz i uruchom makro findWorkSheet
10) W rozwijanym menu masz Arkusze, a zeby znalezc konkretny - zacznij
wpisywac jego nazwe.
Znalezione tutaj: http://www.developerfusion.co.uk/show/2607/ i troche
poprawione wg wskazowek komentujacych. Poobcinalem komentarze, coby sie
linie nie pozawijaly.
-- Pozdrawiam - PiotrekReceived on Fri Aug 10 15:35:06 2007
To archiwum zostało wygenerowane przez hypermail 2.1.8 : Fri 10 Aug 2007 - 15:42:02 MET DST