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

Macro van toepassing op één tabblad, laten werken op meerdere tabbladen

Status
Niet open voor verdere reacties.

Joseph8282

Gebruiker
Lid geworden
3 jan 2019
Berichten
11
Dag, ik heb een macro die bepaalde rijen verbergt indien deze uitgevoerd wordt.
De macro is echter per tabblad te gebruiken en er zijn veel tabbladen.

De tabbladen zijn genummerd van 1 tot 98.
Kan de macro aangepast wordt zodat deze werkt op tabbladen 1-98?

De macro is nu als volgt:

Code:
Sub Rijen_Verwijderen()
  Dim LastLine As Long
  Dim i As Long
  Application.ScreenUpdating = False

  LastLine = Range("C65536").End(xlUp).Row
  For i = LastLine To 3 Step -1
    If Cells(i, 35) = 1 Then Cells(i, 1).EntireRow.Hidden = True
  Next

  Application.ScreenUpdating = True
End Sub

Alvast dank!
 
Laatst bewerkt door een moderator:
Zo misschien:

Code:
Dim xSh As Worksheet
    Application.ScreenUpdating = False
    For Each xSh In Worksheets
        xSh.Select
        Call RunCode
    Next
    Application.ScreenUpdating = True
End Sub
Sub RunCode()
    Dim LastLine As Long
    Dim i As Long
    Application.ScreenUpdating = False
    LastLine = Range("C65536").End(xlUp).Row
    For i = LastLine To 3 Step -1
    If Cells(i, 35) = 1 Then Cells(i, 1).EntireRow.Hidden = True
Next
Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Waarom 98 tabjes met eenduidige gegevens?

Zonder voorbeeldbestand

Code:
Sub VenA()
  For j = 1 To 98
   Sheets(CStr(j)).Cells(3, 1).CurrentRegion.AutoFilter 35, 1
next j
End Sub
 
Laatst bewerkt:
Voor de bladen genummerd van 1 t/m 98.
Code:
Sub Rijen_hidden()
Dim i As Long,j as long
Application.ScreenUpdating = False
for j = 1 to 98
 with sheets(cstr(j))
    For i = .cells(rows.count, 3).End(xlUp).Row To 3 Step -1
      .rows(i).Hidden = .Cells(i, 35) = 1
   Next i
 end with
next j
Application.ScreenUpdating = True
End Sub

Voor elk werkblad in je werkboek.
Code:
Sub Rijen_hidden()
Dim i As Long, sh as worksheet
Application.ScreenUpdating = False
for each sh in sheets
 with sh
  For i = .cells(rows.count, 3).End(xlUp).Row To 3 Step -1
   .rows(i).Hidden = .Cells(i, 35) = 1
 Next i
 end with
next sh
Application.ScreenUpdating = True
End Sub

Of gebruik een autofilter
 
Laatst bewerkt:
@JanBG

Jouw code geeft hier een foutmelding :confused:
 
Laatst bewerkt door een moderator:
Dat zal:

Boven "Dim xSh As Worksheet"

mist iets als Sub Naam()

Beetje slordig geknipt en geplakt
 
Geeft nu:
Fout 1004 tijdens uitvoering
Methode Select van object_Worksheet is mislukt
 
Laatst bewerkt door een moderator:
Zoals anderen al opmerkten: een voorbeeldbestandje doet vaak wonderen
 
Er staan nogal privacygevoelige details in, weet niet of ik dat zomaar kan delen. Kan ik iets vrijgeven waardoor jullie meer inzicht hebben in de structuur?
 
Laatst bewerkt door een moderator:
Ja, een voorbeeldbestandje zonder gevoelig gegevens mee slechts 1 tabje is denk ik wel voldoende. Zorg er wel voor dat de structuur exact hetzelfde is als in het originele bestand.
 
Het spijt me, maar het is niet echt een voorbeeldbestand wat bij de openingsvraag past.

Je gaat uit van kolom 35; nu 21 waar geen nullen staan.

In ieder geval pas ik je code aan om ze weer zichtbaar te maken in alle bladen van je werkboek.

Code:
Sub RijenTerug_GO1()
dim sh as worksheet
for each sh in sheets
  sh.rows.hidden = false
 next sh
End Sub
 
Lijkt mij niets met de vraag te maken te maken hebben. Heb je wel het goede bestand geplaatst?
 
Ik kan het bericht wel naar één van jullie privé sturen, ik kan het bestand niet online plaatsen. Is dat een optie?
 
Niet binnen het kader van het forum.
Dat is erop gericht dat eenieder van vragen en antwoorden kan leren.
Met privé communicatie gaat dat niet.
Dus neem de moeite om je vraag met een representatief voorbeeldbestand zonder privacygevoelige informatie te illustreren.
De suggesties die je dan aangereikt krijgt wegen ruimschoots tegen die moeite op.
 
Joseph,

Het heeft geen zin mij privé berichten te sturen: die verwijder ik ongelezen. Een van de gedachten achter dit forum is dat iedereen er wat aan heeft en van kan leren :d
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan