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

Sheets verwijderen

Status
Niet open voor verdere reacties.

don42

Gebruiker
Lid geworden
25 apr 2014
Berichten
800
Ik ben bezig met een factuur
nu maak ik elke maand een 60 facturen
op het einde van een maand wil ik graag alle scheets tussen
tabblad START en HERINNERING verwijderen
optimistich als ik ben heb ik dit geprobeerd
Code:
Private Sub CommandButton5_Click()
 With ActiveWorkbook.Sheets.Select
.after:=ActiveWorkbook.Sheets("Start")
.before:=ActiveWorkbook.Sheets("Herinnering")
End With
End Sub
Misschien iemand van jullie die wel weet hoe zoiets moet

dus alles tussen start en herinnring moet weg

Don
 
Laatst bewerkt:
Code:
Private Sub CommandButton5_Click()
    For Each sht In ThisWorkbook.Sheets
        Select Case sht.Name
            Case "Start", "Herinnering"
        Case Else
            sht.Delete
        End Select
    Next sht
End Sub
 
Voor de tussenliggende sheets kan je deze proberen

Code:
Sub VenA()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
For Each sh In Sheets
    If sh.Index > Sheets("Start").Index And sh.Index < Sheets("Herinnering").Index Then sh.Delete
Next
Application.DisplayAlerts = True
End Sub
 
Code:
Sub M_snb()
    Application.DisplayAlerts = False

    For Each sh In Sheets
       If InStr("startherinnering", lcase(sh.Name)) = 0 Then c00 = c00 & "_" & sh.Name
    Next

    Sheets(Split(Mid(c00, 2), "_")).Delete
End Sub
 
Mijn dank is wederom groot
optie #2 en #3 getest beide goed
optie 3 heb ik eerlijk gezegd nog niet geprobeerd
deze code ziet er voor mij ook het meest ingewikkeld uit
het werkt prima.
 
Niet dat het mij veel uitmaakt maar optie #2 en #4 hebben een belangrijk verschil gezien de vraagstelling in #1 met optie #3:d
 
Nu je het zo zegt is mijn oplossing inderdaad niet overeenkomstig de vraag en die van jou wel.
De vraag is nu dus of de vraag wel correct is :P
 
De TS vindt het blijkbaar prima. Of het in overeenstemming met de vraag is, tja.

@snb,
Je hebt wel een zeer snelle methode geplaatst om van onnodige tabjes af te komen.
 
@VenA

Hoe minder het aantal akties hoe sneller natuurlijk.

Om mijn voorstel in overeenstemming met jouw aanpak (maar zonder snelheidsverlies) te maken:
Code:
Sub M_snb()
    Application.DisplayAlerts = False

    For Each sh In Sheets
       If sh.index<> sheets("start").index and sh.index<> sheets("herinnering").index Then c00 = c00 & "_" & sh.Name
    Next

    Sheets(Split(Mid(c00, 2), "_")).Delete
End Sub

Simpeler alternatief:

Code:
Sub M_snb()
  sheets(array("start","herinnering")).copy
  thisworkbook.close
End sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan