Re: Jak szukac arkusza w excelu?

Autor: Piotrek <example_at_example.com>
Data: Fri 10 Aug 2007 - 15:30:13 MET DST
Message-ID: <f9hpil$rt3$1@nemesis.news.tpi.pl>
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original

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 - Piotrek
Received 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