• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Check WorksheetExists

Status
Niet open voor verdere reacties.

johhnnyboy

Gebruiker
Lid geworden
18 nov 2007
Berichten
142
Hoi!

Onderstaande functie heb ik opgenomen in mijn excel project:

Code:
Public Function WorksheetExists(ByVal WorksheetName As String) As Boolean
    
    Dim ws                      As Worksheet
            
    WorksheetExists = False
        
    For Each ws In ThisWorkbook.Worksheets
    
            If ws.Name = WorksheetName Then WorksheetExists = True
            
    Next ws
    
End Function

Deze wil ik graag als volgt gebruiken:

Code:
Public Function Ttttest()
    On Error GoTo ErrHandler:

    Dim rCell           As Range
    
    For Each rCell In ThisWorkbook.Worksheets("C - Eenheden").Range("C_LIJST_eenheden")
    
        If rCell.Value <> "" Then
        
            If WorksheetExists(ThisWorkbook.Worksheets("CALC - " & rCell.offset(0, 3).Value)) Then
            
                MsgBox "CALC - " & rCell.offset(0, 3).Value
                           
            End If
                        
        End If
    
    Next rCell
    
    GoTo Ttttest_exit

ErrHandler:

    Resume Next

Ttttest_exit:
  
    Exit Function
        
End Function

Nu verwacht ik alleen een Msgbox op de eerste waarde uit C_LIJST_eenheden, omdat alleen dat tabblad bestaat. Echter ik krijg nu 7x een Msgbox met daarin alle waarden vanuit C_LIJST_eenheden met CALC - ervoor. De laatste 6 tabbladen bestaan nog niet. Wat gaat er mis in deze code met bepaling of de worksheet bestaat?
 
Doe het eens zo:
If WorksheetExists("CALC - " & rCell.Offset(0, 3).Value) Then
 
Ah dat werkt inderdaad. Bij nader inzien verwacht de functie inderdaad ook een string.

Thnx!
 
Precies :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan