Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Sprawdzanie czy zakładka w arkuszu Excel jest czy jej nie ma

10 Sep 2010 20:21 11340 7
  • Level 2  
    Nie mogą uporać się z napisaniem macra w Excelu, które sprawdza czy zakładka jest czy jej nie ma.
    Znalazłem przykład do sprawdzania czy plik jest otwarty, ale mnie chodzi o macro vba, które sprawdza czy jest zakładka w arkuszu czy jej nie ma.
    Bardzo proszę o pomoc.
  • Moderator of Programming
    Co rozumiesz pod pojęciem "zakładka w arkuszu"?
  • Helpful post
    Level 10  
    Rozumiem że pod pojęciem zakładka rozumiesz Arkusz, a pod pojęciem Arkusza rozumiesz Skoroszyt.
    Jeśli tak to sprawdzenie czy w Skoroszycie jest Arkusz o określonej nazwie robi się tak:

    Code:

    Sub Makro1()
    For Each oWBK In ThisWorkbook.Worksheets
        'A tu warunek sprawdzajacy nazwę arkusza, np:
        If oWBK.Name = "Szukana_Nazwa" Then MsgBox "Arkusz o takiej nazwie istnieje!": Exit For
    Next oWBK

    End Sub
  • Level 2  
    Przepraszam, oczywiście masz rację. rozwiązanie super. Dzięki.
  • Level 28  
    adamas_nt wrote:
    Co rozumiesz pod...

    Nie to, żebym był upierdliwy, ale sugerowałbym na przyszłość używania właściwego nazewnictwa. Pozwala ono na szybszą reakcję na problem, nie wspominając już o łatwości wyszukania potrzebnego tematu. Myślę, że człowiek programujący w VBA powinien takowe znać.
  • Level 2  
    Chyba jesteś. Każdemu może się to zdarzyć w "ferworze walki". Na drugi raz oczywiście będę używał prawidłowego nazewnictwa żebyś się nie denerwował i niepotrzebnie tracił czas na takie wpisy.

    Pozdrawiam Piotr
  • Level 28  
    Quote:
    Na drugi raz oczywiście będę używał prawidłowego nazewnictwa...

    I o to chodzi.:D
  • Moderator of Programming
    Zamiast wkładania palców do oczu proponuję przedstawić inne metody. Np taka bardzo szybka w działaniu, szczególnie gdy po Else ma nastąpić jakaś akcja
    Code:
    Sub szukaj()
    
    On Error Resume Next
    With Sheets("Arkusz8"): End With
    If Err Then MsgBox "kucha"
    End Sub
    i w drugą stronę
    Code:
    Sub szukaj()
    
    On Error Resume Next
    With Sheets("Arkusz1"): End With
    If Err = 0 Then MsgBox "Arkusz o takiej nazwie istnieje!"
    End Sub