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

VBA code om in meerdere bladen een gelijk bereik de inhoud te wissen.

  • Onderwerp starter Onderwerp starter novec
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

novec

Gebruiker
Lid geworden
6 jan 2009
Berichten
194
Wat is de VBA code als ik op Werkblad 'Home' met een button een Macro start. (ik weet hoe ik macro moet koppelen)

De macro moet het volgende doen:
selecteer Bladen 'R1' t/m 'R6' (maakt het uit dat R4 en R5 verborgen zijn??) en verwijder in al deze bladen B2:B7 en C2;E6

In mijn werkelijke sheet zijn de bladen beveiligd maar de genoemde bereiken zijn niet geblokkeerd.

Tevens zocht ik een oplossing om bijv 20 bladen in 1 keer zichtbaar te maken. Ik kan ze wel als groep verbergen maar zichtbaar maken moet 1 voor 1.

Ik werk in Excel 2010 en 2013.

Dank alvast
 

Bijlagen

Beste Novec,

Ik ben even bezig geweest met je probleem.
Denk dat ik de oplossing voor je heb. Bijgevoegd
heb ik beide codes en het aangepaste voorbeeld
bestand.

Code:
Sub wissen()
    'Deze code wist alle gegevens van alle tabbladen die op de range b2:b17 en c2:e6 staan.
    For Each ws In ActiveWorkbook.Sheets
        With ws
            .Range("B2:B17") = ""
            .Range("C2:E6") = ""
        End With
    Next ws
End Sub

Code:
Sub zichtbaar()
    'Deze code maakt alle tabbladen zichtbaar hoeveel er ook in het bestand staan.
    Dim sht As Worksheet
    
    For Each sht In ActiveWorkbook.Worksheets
    If sht.Visible = False Then
    sht.Visible = True
    End If
    Next
End Sub

Bekijk bijlage Test meerder bladen schoonmaken (versie 2).xlsm

Mocht er nog iets niet goed zijn dan hoor ik het graag van je.
Anders veel succes ermee.

Groet Neuz
 
Nog niet helemaal .....

Neuz

Dank voor je hulp.
De code voor alles zichtbaar maken werkt. Dank. Ben er blij mee!
Het leeg maken van dezelfde cellen in meerdere bladen werkt ook.
Maar
In de code staat "Each ws In ActiveWorkbook.Sheets"
Ik wil echter alleen in de Worbooks R1 tot R6 deze velden wissen.
In het HomeBlad en in de ander bladen zoals ik die in mijn uiteindelijke bestand heb, niet.

Hoe kan ik de "Each ws" veranderen in :"R1 t/m R6" ?
 
Onderstaande code wist het bereik voor de desbetreffende werkbladen.

Code:
Sub Wissen()
Dim sH As Worksheet
    For Each sH In Worksheets
        If sH.Name Like "R[1-6]" Then
            sH.Range("B2:B17,C2:E6").Value = ""
        End If
    Next
End Sub

Met vriendelijke groet,


Roncancio
 
Hi Roncancio

Wederom bedankt voor dje hulp.
In de aangeleverde voorbeeld sheet werk de code prima.
In mijn uiteindelijke sheet heb ik een kleine wijziging doorgevoerd.
"R[1-6]" heb ik veranderd in "R[1-24]"
Helaas maakt hij vanaf dat moment alleen het bereik in "R1" schoon. Ik krijg geen foutmeldingen
Ik heb alle namen van de sheets gecheckt op extra spatie ed maar dat klopt allemaal gewoon.
Kan het aan het streepje liggen tussen de 1 en de 24 ??

groet
 
Laatst bewerkt:
Code:
Sub Wissen()
Dim sH As Worksheet
    For Each sH In Worksheets
        If sH.Name Like "R#*" Then
            sH.Range("B2:B17,C2:E6").Value = ""
        End If
    Next
End Sub

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan