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

verbergen lege regels met VBA loop

  • Onderwerp starter Onderwerp starter MMV
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.
Duw1: Gebruik de zoekfunctie (klik op geavanceerd zoeken en vul "lege rijen verbergen" in);
Duw2: Sloop je samengevoegde cellen eruit anders wil VBA nog wel eens "raar" reageren;
Duw3: Of gebruik het autofilter.

Genoeg duwtjes?
 
Dit is toch niet de kant die ik op wil gaan. Ik heb via wat zoeken de volgende code gevonden en aangepast naar de wenselijke situatie waarbij in kolom Y:Y gezocht moet worden naar de waarde nul en lege regels en dit over meerdere tabbladen. Wanneer er nul staat en de cel is leeg dient de regel te worden verborgen wat de leesbaarheid van de sheets vergroot. Bij het "runnen" van de code lijkt het erop dat enkele informatie niet goed staat.

De macro geeft nu echter een invoerscherm. Ik wil deze niet meer.

ps- de code is gericht op mijn originele bestand en niet deze in mijn eerste post.

Code:
Sub Verbergen_regels_met_0()
  

'Hides all rows with a certain value in column Y.
Dim vFind
Dim rSearch As Range

On Error GoTo ErrorHandle

'We ask for a search string. "?" and "*" in the search string
'will work as wildcards/"jokers".
vFind = InputBox("What to search for?")
If Len(vFind) = 0 Then Exit Sub


Application.ScreenUpdating = False

'In this example we search column B only.
'If you want to search the entire worksheet, you write
'e.g. "With ActiveSheet" or "With Worksheets(nb. or name)".
'You can also define another range than column Y.

Worksheets(Array("I_400", "E_410")).Select
With Columns("Y:Y")
   Set rSearch = .Find(vFind, LookIn:=xlValues)
   'If found:
   If Not rSearch Is Nothing Then
      'hide the row.
      rSearch.EntireRow.Hidden = True
      'Now we start a loop that finds all other
      'instances. Instances in hidden row are
      'not found by the search.
      Do
         Set rSearch = .FindNext(rSearch)
         If Not rSearch Is Nothing Then
            'If the search result isn't
            'nothing, we hide the row.
            rSearch.EntireRow.Hidden = True
         Else
            'If rSearch was indeed = Nothing, there was
            'no instances and we exit the loop.
            Exit Do
         End If
      Loop
   End If
End With

BeforeExit:
Set rSearch = Nothing
Application.ScreenUpdating = True
Exit Sub
ErrorHandle:
MsgBox Err.Description & " Procedure FindHide"
Resume BeforeExit

Sheets("Progress summary internal").Select
  
    
End Sub
 
Laatst bewerkt:
Gewelding. Deze macro doet wat ik wilde. Ik ben zojuist toch verder gaan nadenken hoe op te lossen. Ik ben met iets vergelijkbaars gekomen.

Code:
Sub Lege_regels_verbergen()
Dim cell As Range

If MsgBox("Wilt u lege regels verbergen?", vbYesNo) = vbYes Then

Application.ScreenUpdating = False


Sheets("I_400").Range("Y15:Y1000").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True


Sheets("I_400").Select
For Each cell In Range("Y15:Y1000")
If UCase(cell.Value) = "0" Then
cell.EntireRow.Hidden = True
End If
Next

Sheets("Progress summary internal").Select
Application.ScreenUpdating = True

    
Else
  
End If


End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan