• 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 tabbladen selecteren

Status
Niet open voor verdere reacties.

laarimda

Gebruiker
Lid geworden
21 mrt 2007
Berichten
34
Goedendag allen,

Misschien kan iemand mij helpen met een stukje code.

Ik heb een Excel bestand met 10 tabbladen. De tabbladen hebben een naam, laten we zeggen: 1, 2, 3, enz tot 10.
Nu verberg ik bijvoorbeeld tabblad 4 en 6.

Nu moet ik een stukje code hebben dat alle zichtbare tabbladen geselecteerd worden. Dat zijn dan 1,2,3,5,7,8,9,10
Maar deze code moet onafhankelijk zijn van de "naam" van het tabblad. Want de volgende keer zijn er andere tabbladen verborgen, en moeten er dus andere tabbladen geselecteerd worden, bijvoorbeeld 2,3,7 en 8
Krijg dit even niet voor elkaar.

Alvast bedankt!
Groet Laarimda
 
Dat kan zo door een loop door alle werkbladen te doen.
Check of ze zichtbaar zjin, zo ja, naam in een array wegschrijven.
Op het einde al deze werkbladen selecteren

Code:
Sub SelecteerWerkblad()

Dim WS As Worksheet
Dim WSarr() As Variant

For Each WS In ActiveWorkbook.Sheets
    If WS.Visible = True Then
        If s = 0 Then
            ReDim Preserve WSarr(0)
            s = 1
        Else
            ReDim Preserve WSarr(UBound(WSarr) + 1)
        End If
        
        WSarr(UBound(WSarr)) = WS.Name

        
    End If

Next WS

ActiveWorkbook.Sheets(WSarr).Select
End Sub


Weet niet of dit de meest effectieve manier is.
Misschien weet iemand een oplossing zonder loop.
 
Laatst bewerkt:
Of zo:
Code:
Sub SelecteerZichtbareBladen()
    Dim MultiSelect As Boolean
    
    For Each sh In ThisWorkbook.Sheets
        If sh.Visible Then
            If Not MultiSelect Then
                MultiSelect = True
                sh.Activate
            Else
                sh.Select False
            End If
        End If
    Next
End Sub
 
Waarvoor is de selectie van alle zichtbare werkbladen nodig ?

Hou het simpul:
Code:
Sub M_snb()
  For Each it In Sheets
    If it.Visible = -1 Then c00 = c00 & Chr(0) & it.Name
  Next

  Sheets(Split(Mid(c00, 2), Chr(0))).Select
End Sub
 
Laatst bewerkt:
Ik wil alle zichtbare tabbladen kunnen voorzien van een watermerk via koptekst als dit nodig is, en dit in een macro zetten.
 
Daarvoor moet je nu juist niets selecteren (want in VBA):

Code:
Sub M_snb()
    For Each it In Sheets
      If it.Visible = -1 Then it.PageSetup.CenterHeaderPicture.Filename = "G:\OF\plaatje.png"
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan