Help!

Problemen met uw pc? De vrijwilligers van Oplossing.be zoeken gratis met u mee! 8)

Meer weten over Oplossing.be?

Hoe stel ik een vraag?

Hulp bij posten

Recent

Auteur Topic: Aantal Tabbladen verwijderen VBA  (gelezen 597 keer)

Offline rdcoster

  • Lid
  • *
  • Berichten: 36
  • Geslacht: Man
  • Oplossing.be
Aantal Tabbladen verwijderen VBA
« Gepost op: 11 januari 2019, 17:43:20 »
Ik heb een workbook met normaal 10 tabbladen.
de 2 eerste en de 2 laatste moeten blijven bestaan. (dus Blad1, Blad2, Blad9 en Blad10)
De andere (3 tot 8 ) moeten verwijderd worden met een macro

Maarrr: het aantal bladen tussen blad2 en Blad9 is niet altijd hetzelfde.
Ik heb iets alsvolgt maar dat werkt maar als er exact 10 bladen zijn.
Sub Macro1()
    aantaltabs = Application.Sheets.Count
    MsgBox "Het totaal aantal werkbladen is: " & aantaltabs
    If Application.Sheets.Count > 4 Then
        Sheets(Array(3, 4, 5, 6, 7, 8)).Select
        ActiveWindow.SelectedSheets.Delete
    End If
End Sub

Kan iemand mij op weg helpen.
« Laatst bewerkt op: 12 januari 2019, 14:05:29 door SoftAid »

Offline Dotchiejack

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 169
  • Geslacht: Man
  • Oplossing.be
Re: Slechts aantal Tabbladen verwijderen
« Reactie #1 Gepost op: 11 januari 2019, 18:22:30 »
Zonder voorbeeld en het ontbreken van uitleg over het hoe en waarom, helpt dit je verder?
Kies de bladen die je wilt verwijderen (je kan er meerdere kiezen) en druk op verwijderen.
Zie bijlage.
Het is een stokpaardje van mij maar ik blijf het herhalen.
Vermijdt Select en Activate, het vertraagt je code big time en het is zelden nodig.
Deze code doet net hetzelfde als uw vb.
Sub Macro1()
    aantaltabs = Application.Sheets.Count
    MsgBox "Het totaal aantal werkbladen is: " & aantaltabs
    If Application.Sheets.Count > 4 Then Sheets(Array(3, 4, 5, 6, 7, 8)).Delete
End Sub
Zoals je kan zien in mijn vb, ik gebruik
Application.DisplayAlerts = FalseDan krijg je geen vraag  Microsoft Excel verwijdert ....
« Laatst bewerkt op: 11 januari 2019, 18:33:40 door Dotchiejack »
Groet, Philiep

Facebook is als gearresteerd worden: alles wat je zegt kan en zal tegen je gebruikt worden...
Soms merken mensen de dingen die we voor hen doen niet op, tot we er mee stoppen.

Offline emields

  • Lid
  • *
  • Berichten: 48
  • Geslacht: Man
  • Oplossing.be
Re: Slechts aantal Tabbladen verwijderen
« Reactie #2 Gepost op: 11 januari 2019, 19:01:59 »
Deze verwijderd alle tabbladen waarvan de naam begint met "blad". zodus verander eerst de naam van de bladen die je wil behouden.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 17.263
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Slechts aantal Tabbladen verwijderen
« Reactie #3 Gepost op: 11 januari 2019, 19:11:21 »
Deze verwijderd alle tabbladen waarvan de naam begint met "blad". zodus verander eerst de naam van de bladen die je wil behouden.
Dat is volgens mij geen optie. Als je elke naam van je werkbladen moet gaan nakijken en veranderen zodat het in je macro past, dan kan je ze net zo goed (en sneller) handmatig verwijderen.

:) SoftAid :)             

Wegens veelvuldig melden van dubbelposten, het posten op verschillende help-fora van dezelfde vraag, zijn de gedragsregels op dit forum aangepast. Dubbelposten dient in de toekomst op voorhand gemeld te worden, met een melding en een link naar het topic op de andere site. De helpers wensen een weinig respect voor de inspanningen die ze doen om mensen te helpen. Je doet jezelf ook een plezier. Door je dubbelposten te melden wordt je vraag op meerdere fora beantwoord.

Offline rdcoster

  • Lid
  • *
  • Berichten: 36
  • Geslacht: Man
  • Oplossing.be
Re: Slechts aantal Tabbladen verwijderen
« Reactie #4 Gepost op: 11 januari 2019, 19:58:32 »
Ik denk dat er wel iets inzit in de oplossing van 'emields'.
Ik heb de macro iets gewijzigd.
Dus: ALS het tabblad = 1 of 2 of 9 of 10 mogen deze niet gewist worden.
Maar dit blijkt niet helemaal te werken.
Sub VerwijderBladen()
Dim sh As Worksheet
Dim a As String
    Application.DisplayAlerts = False
        For Each sh In ThisWorkbook.Worksheets
          If sh.Name <> "1" Or sh.Name <> "2" Or sh.Name <> "9" Or sh.Name <> "10" Then sh.Delete
        Next sh
    Application.DisplayAlerts = True
End Sub

Offline emields

  • Lid
  • *
  • Berichten: 48
  • Geslacht: Man
  • Oplossing.be
Re: Slechts aantal Tabbladen verwijderen
« Reactie #5 Gepost op: 11 januari 2019, 20:06:55 »
nu vraag je juist die bladen wel te verwijderen.

Als de naam 1,2,9,10 is dan verwijder staat er nu.

Offline rdcoster

  • Lid
  • *
  • Berichten: 36
  • Geslacht: Man
  • Oplossing.be
Re: Slechts aantal Tabbladen verwijderen
« Reactie #6 Gepost op: 11 januari 2019, 20:11:03 »
Er staat toch <> wil dit niet zeggen 'verschillend van' ??

Offline Dotchiejack

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 169
  • Geslacht: Man
  • Oplossing.be
Re: Slechts aantal Tabbladen verwijderen
« Reactie #7 Gepost op: 11 januari 2019, 20:47:01 »
Er is een verschil tussen Or en And ;)
Sub oplossing_be()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    For Each ws In Application.ThisWorkbook.Worksheets
        If ws.Name <> "1" And ws.Name <> "2" And ws.Name <> "9" And ws.Name <> "10" Then ws.Delete
    Next
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub
Groet, Philiep

Facebook is als gearresteerd worden: alles wat je zegt kan en zal tegen je gebruikt worden...
Soms merken mensen de dingen die we voor hen doen niet op, tot we er mee stoppen.

Offline rdcoster

  • Lid
  • *
  • Berichten: 36
  • Geslacht: Man
  • Oplossing.be
Re: Slechts aantal Tabbladen verwijderen
« Reactie #8 Gepost op: 12 januari 2019, 06:06:54 »
Ik interpreteerde dat als :

ALS het tabblad verschillend is van 1 of 2 of 9 of 10 dan mogen deze gewist worden.
Blijkbaar fout van mij.

OK, de laatste versie van Dotchiejack werkt prima !!

Dank aan allen.

Offline Dotchiejack

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 169
  • Geslacht: Man
  • Oplossing.be
Re: Slechts aantal Tabbladen verwijderen
« Reactie #9 Gepost op: 12 januari 2019, 11:20:58 »
Dank voor de terugkoppeling. :thumbsup:
Groet, Philiep

Facebook is als gearresteerd worden: alles wat je zegt kan en zal tegen je gebruikt worden...
Soms merken mensen de dingen die we voor hen doen niet op, tot we er mee stoppen.

 


www.combell.com