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

Mbv VBA veel tabbladen tegelijk verplaatsen naar nieuw bestand

Status
Niet open voor verdere reacties.

Haije

Terugkerende gebruiker
Lid geworden
24 mrt 2009
Berichten
4.419
Besturingssysteem
Windows 11
Office versie
Office 2016 Professional Plus en Office 2010 Home & Student
Hallo helpers,

wie kan me helpen aan de oplossing van het volgende probleem (zie bijlage):

in tabblad "draaitabel" staat een draaitabel, gebaseerd op de gegevens uit tabblad "basisgegevens"
vanuit de draaitabel worden (mbv de optie pagina's weergeven) de tabbladen
M002-1, M002-2, M003-1 en M003-2 gemaakt

dit alles mbv VBA

Maar het lukt me niet om in VBA gedaan te krijgen de tabbladen Mxxx te verplaatsen naar een nieuw bestand.

De bijlage is uittreksel uit een veel groter geheel. Het grote geheel bevat uiteindelijk 114 (!) tabbladen die verplaatst moeten worden. Bovendien zijn de namen niet elke keer gelijk, waardoor één keer opnemen en oneindig vaak gebruiken ook geen optie is.

Wie helpt me bij het vinden van een steeds opnieuw te gebruiken oplossing?

Bij voorbaat dank.
 

Bijlagen

Laatst bewerkt:
Haije,

Ik heb hieronder een stukje code dat de tabbladen die beginnen met een M naar een nieuw aan te maken bestand verplaatsen. 2 opmerkingen hierbij:
1. In het oorspronkelijke bestand leest de code vanaf het laatste tabblad terug;
2. In het nieuwe bestand worden de bestanden voor het eerste tabblad geplaatst.

Hopelijk heb je hier wat aan.

Code:
Sub TabbladenVerplaatsten()
Dim i, j As Integer
Dim wb1, wb2 As Variant
Dim path As String
    
    path = "c:\mijn documenten\"    'te vervangen door het juiste pad!
    Set wb1 = ActiveWorkbook
    wb2 = InputBox("Naam") & ".xls" 'een door jezelf te kiezen naam voor het het nieuwe bestand
    Application.DisplayAlerts = False
    Workbooks.Add
    ActiveWorkbook.SaveAs Filename:=path & wb2
    
    For i = wb1.Sheets.Count To 1 Step -1
        If wb1.Sheets(i).Name Like "M*" Then
            wb1.Sheets(i).Move before:=Workbooks(wb2).Sheets(1)
        End If
    Next
    ActiveWorkbook.Close (True)  'het nieuwe bestand wordt opgeslagen
    
End Sub
 
Ronald,

bedankt voor je reactie.

Het is niet helemaal wat ik zocht, want de te verplaatsen tabbladen hebben niet altijd een gemeenschappelijk iets in de naam
(zoals nu de eerste letter M).

Ik heb inmiddels nog eens kritisch nagedacht over wat ik wilde, en de conclusie was:
ipv het verplaatsen van veel tabbladen sla ik het bestand eerst op onder een andere naam en verwijder verviolgens twee tabbladen die niet meer nodig zijn.

Als ik iets langer nagedacht had (:o) was de vraag waarschijnlijk niet eens gesteld.

Maar iig bedankt voor het meedenken!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan