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

En wie kan mij helpen ?

Status
Niet open voor verdere reacties.

Theknurt

Gebruiker
Lid geworden
11 nov 2006
Berichten
130
In bijgevoegd bestand heb ik een kleine macro'tje ingebouwd.

Het is eigenlijk de bedoeling dat de macro uit 8 verschillende tabbladden de cellen in de "A"-kolom die een waarde 0 of niks bevatten, hidden (verbergd).

Mijn opzetje van de macro doet het netjes in tabblad 1, alleen denk ik dat het veel sneller kan.

Kan iemand mij daarbij helpen ??
 

Bijlagen

Bedoel je dit?


Sub Nul_verbergen()

Dim blad As Worksheet
Dim r As Integer

'alle tabbladen in werkboek
For Each blad In Worksheets
'Ik neem voor het gemak aan dat alle cellen in kollom A gevuld zijn
r = 1
Do Until IsEmpty(Cells(r, 1).Value)
If Cells(r, 1).Value = 0 Then 'an als de cel een nul waarde heeft gaan we die verbergen
Rows(r).Hidden = True
r = r + 1
Else
r = r + 1
End If
Loop

Next blad

'Boodschap
MsgBox "klaar"
End Sub
 
Ha EENReus........

Ik heb het ingebouwd en de code ziet er soepeler uit..... alleen blijft het mijns inziens nog redelijk traag.......

Tuurlijk kan ik het verbergen met application.screenupdating =false........, maar het zijn totaal 14 tabbladen met elk 1000 regels. Dus daar staat een redelijke tijd voor.....

Is het echt niet rapper/sneller te doen ??
 
Om dit klusje snel te laten verlopen, kan je best niet doorheen de cellen lopen (for each cell-constructie), maar een autofilter gebruiken met de twee criteria. Vervolgens alle zichtbare rijen hidden, en dan filter afzetten.

Code kan je reconstrueren door via macrorecorder, deze handeling in 1 sheet op te nemen. En dan aan te passen.
 
Probeer volgende eens

Code:
Sub Verbergen1()
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In Worksheets
With sh.Range("A1:A1200")
            .AutoFilter Field:=1, Criteria1:="<>0"
            .Cells.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End With
Next sh
Application.ScreenUpdating = True
End Sub

Mvg

Rudi
 
Hoi Rudi en Finch,

Bedankt voor jullie reactie's. Ik kan hier zeker wat mee, maar alleen in jullie voorbeelden doet hij het verbergen voor alle tabbladen.....
En dat is niet echt de bedoeling.

Het bestand bestaat uit 16 tabbladen en daarvan moet het verbergtrukje uitgevoerd worden op 10 van de 16 tabbladen....
Ook blijft in de optie van Rudi, de optie AutoFilter actief, dat is ook onhandig.

Hebben jullie daar nog een suggestie voor ??
 
Het bestand bestaat uit 16 tabbladen en daarvan moet het verbergtrukje uitgevoerd worden op 10 van de 16 tabbladen....
Ook blijft in de optie van Rudi, de optie AutoFilter actief, dat is ook onhandig.

Hebben jullie daar nog een suggestie voor ??

*Dan moet je de tabbladen waar de code moet uitgevoerd worden op één of andere manier identificieren. Bijv. de naam of index in een array plaatsen en door die array lopen, op basis van naam (bv. al de bladen die beginnen met "verwerk", ...), door te kijken naar een bepaalde cel op die bladen, ... Maw keuze te over.

*probeer die handeling (filter afzetten) eens op te nemen met de macro recorder. Verwerk daarna die voorbeeldcode in de andere code.
 
In bijlage een mogelijkheid om de verschillende bladen te selecteren en te bewerken. In kolom E maak je een lijst van de te bewerken bladen( Blad1 uiteraard laatst) en klik daarna op bewerken. Deze lijst kan je om het even waar plaatsen(macro moet dan wel aangepast worden aan de nieuwe plaats). Deze methode is flexibeler dan een array in je macro aangezien je steeds een variëerend aantal bladen kan selecteren. Bekijk het eens en laat iets weten.

Mvg

Rudi
 

Bijlagen

Ha Rudi,

Dit is inderdaad iets wat ik zocht en gaat best wel als een speer.....
Ik zal mijn origineel bestand proberen aan te passen en testen.

Je gaat 'the-result' nog horen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan