• 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.

verwijderen tabblad

Status
Niet open voor verdere reacties.

wacco

Gebruiker
Lid geworden
9 mrt 2006
Berichten
229
Hallo,

Ik probeer via vba een tablad te verwijderen, behalve als dit een bepaalde naam heeft.
Het tablad verwijderen, na invoering van een naam lukt, maar de uitzondering(en) inbouwen lukt maar niet.
ik gebruik deze code :
Code:
Dim check As Boolean
 Dim SheetName As String
 
    SheetName = Application.InputBox( _
      Prompt:="Welke tabblad wilt u verwijderen? ", _
      Type:=2)

'If Sheet.Name = "Basisdata" Then
'MsgBox "Dit tabblad mag niet worden verwijderd, u keert terug naar de applicatie"
'Exit Sub
'End If

For Each Sheet In Worksheets
If Sheet.Name Like SheetName Then check = True: Exit For
Next

If check = True Then
    Application.DisplayAlerts = False
Worksheets(SheetName).Delete
 Application.DisplayAlerts = True
Else
MsgBox "Tabblad bestaat niet"
End If

Kan maar niet vinden waar de uitzondering binnen de code geplaatst moet worden.
Hopelijk kan iemand mij helpen.
Bij voorbaat bedankt.
 
Kun je dat hier uit afleiden?
 
Zo?
Code:
Dim SheetName As String

SheetName = Application.InputBox(Prompt:="Welke tabblad wilt u verwijderen? ", Type:=2)
If SheetName = "Basisdata" Then
    MsgBox "Dit tabblad mag niet worden verwijderd, u keert terug naar de applicatie"
    Exit Sub
End If

Application.DisplayAlerts = False
On Error Resume Next
Sheets(SheetName).Delete
If Err.Number = 9 Then
    MsgBox "Blad " & SheetName & " bestaat niet", vbCritical, "Onjuiste bladnaam"
End If
Application.DisplayAlerts = True
 
@senso,
Die ben ook tegen gekomen, maar die verwijderd alle tabbladen tegelijk welke niet in de uitzondering vallen.

@Edmoor,
Dankjewel, deze werkt wel, maar....bij het invullen van de sheetname blijkt dit hoofdletter gevoelig te zijn.
Als ik basisdata invul, wordt het bewuste sheet toch gewist.
Bij gebruikt van Basisdata, komt keurig de melding.

Is hier iets aan te doen, want als voorbeeld is 1 sheet gegeven (basisdata), maar het gaat over minimaal 6 sheets.
 
Dan gebruik je dit:
If Lcase(SheetName) = "basisdata" Then
 
@Edmoor
Soms kan het leven zo simpel zijn,.....werkt nu helemaal goed.
Dankjewel, kan nu weer ff door
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan