Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Software >> Microsoft Excel >> Content
Kunt u rijen in Excel verbergen met behulp van een formule of voorwaardeverklaring?
Ja, u kunt rijen in Excel verbergen met behulp van een formule of voorwaardelijke verklaring, maar niet *direct* binnen een celformule. In plaats daarvan moet u Voorwaardelijke opmaak gebruiken met een aangepaste formule in combinatie met een VBA-macro . Hier leest u hoe u het moet doen:

1. Voorwaardelijke opmaak:

* Doel: Om rijen te markeren die aan uw criteria voldoen (de voorwaarde). In plaats van het direct te verbergen, veranderen we het lettertype en de vulkleur van de rij zodat deze onzichtbaar zijn.

* Stappen:

1. Selecteer het gegevensbereik: Markeer het gehele bereik van rijen en kolommen waarop u de verbergvoorwaarde wilt toepassen (bijvoorbeeld 'A1:Z100' of hoe groot uw gegevens ook zijn). Cruciaal is dat de *eerste* rij van uw selectie wordt gebruikt als referentie voor uw formule.

2. Ga naar Voorwaardelijke opmaak: Klik op het tabblad 'Start' op 'Voorwaardelijke opmaak'> 'Nieuwe regel...'

3. Kies 'Gebruik een formule om te bepalen welke cellen moeten worden opgemaakt': Selecteer dit regeltype.

4. Voer uw formule in: Voer in het formulevak een formule in die 'TRUE' retourneert als u de rij wilt verbergen, en anders 'FALSE'. *Belangrijk:* Gebruik relatieve verwijzingen (`$columnNameRowNumber`) of gemengde verwijzingen (`$columnNameRowNumber`) op de juiste manier, afhankelijk van wat u wilt testen.

* Voorbeeld 1 (rijen verbergen waarbij de waarde in kolom A 'Verbergen' is):

```uitblinken

=$A1="Verbergen"

```

Deze formule controleert of de waarde in kolom A van de *eerste rij* van uw geselecteerde bereik gelijk is aan "Verbergen". Vervolgens wordt de opmaak op die rij toegepast. Omdat u het hele bereik hebt geselecteerd, wordt de formule automatisch voor elke rij aangepast.

* Voorbeeld 2 (rijen verbergen waarbij de waarde in kolom B kleiner is dan 0):

```uitblinken

=$B1<0

```

Hierdoor worden rijen verborgen waarin de waarde in kolom B negatief is.

* Voorbeeld 3 (rijen verbergen waar de waarde in kolom C leeg is):

```uitblinken

=ISBLANK($C1)

```

5. Stel het formaat in (op "verbergen"): Klik op de knop "Formatteren...".

* Lettertype: Wijzig de kleur van het lettertype zodat deze overeenkomt met de achtergrondkleur van uw cellen. Meestal is dit wit (of geen vulling).

* Vullen: Wijzig de vulkleur zodat deze overeenkomt met de achtergrondkleur van uw cellen. Nogmaals, meestal wit (of geen vulling).

* Klik op "OK" om het dialoogvenster Opmaak te sluiten en vervolgens nogmaals op "OK" om de voorwaardelijke opmaakregel te maken.

2. VBA-macro (om de rijhoogte aan te passen):

* Doel: Om de rijhoogte in te stellen op 0 voor de rijen die overeenkomen met de opmaak. Dit is de laatste stap bij het visueel verbergen van de rijen.

* Stappen:

1. Open de VBA-editor: Druk op `Alt + F11` om de Visual Basic Editor te openen.

2. Een module invoegen: Ga in de VBA-editor naar "Invoegen"> "Module".

3. Plak de volgende code: Plak deze VBA-code in de module:

```vba

Sub HideRijenBasedOnFormat()

Dim rng als bereik, cel als bereik

Dim ws As-werkblad

Dim condFormat als FormatCondition

' Wijzig 'Blad1' in de naam van uw blad

Set ws =ThisWorkbook.Sheets("Blad1")

' Wijzig A1:Z100 naar het werkelijke bereik waar de voorwaardelijke opmaak wordt toegepast

Stel rng =ws.Range("A1:Z100") in

' Loop door elke cel in het bereik

Voor elke cel in rng.Rows

'Ga ervan uit dat je je in eerste instantie niet verstopt

cel.Verborgen =Onwaar

'Loop door alle voorwaardelijke formaten

Voor elke condFormat In cell.FormatConditions

Als condFormat.Type =xlExpression Dan

'Evalueer de formule, als het waar is, verberg het dan

If ws.Evaluate(condFormat.Formula1) Dan

cel.Verborgen =Waar

Afsluiten voor

Einde Als

Einde Als

Volgende condFormat

Volgende cel

Einde sub

Sub ToonAlleRijen()

Dim ws As-werkblad

' Wijzig 'Blad1' in de naam van uw blad

Set ws =ThisWorkbook.Sheets("Blad1")

ws.Rows.Hidden =Onwaar

Einde sub

```

4. Pas de code aan:

* `ws =ThisWorkbook.Sheets("Blad1")` :Wijzig `"Blad1"` in de werkelijke naam van het werkblad waarop uw gegevens staan.

* `Set rng =ws.Range("A1:Z100")` :Wijzig `"A1:Z100"` in hetzelfde gegevensbereik dat u hebt gebruikt bij het maken van de voorwaardelijke opmaakregel.

5. Voer de macro uit: Ga terug naar de VBA-editor (als u deze hebt gesloten) en druk op `F5` om de macro `HideRowsBasedOnFormat` uit te voeren. U kunt ook vanuit Excel naar het tabblad "Ontwikkelaar" gaan (als u dit niet ziet, moet u dit inschakelen in de opties van Excel)> "Macro's", selecteer `HideRowsBasedOnFormat` en klik op "Uitvoeren".

6. (Optioneel) Voeg een knop toe: U kunt een knop in uw werkblad invoegen (Invoegen -> Vormen -> Knop) en daaraan de macro `HideRowsBasedOnFormat` toewijzen. Dit biedt een gebruiksvriendelijke manier om de rijen opnieuw te verbergen wanneer de gegevens veranderen. Je kunt ook een knop toevoegen voor `UnhideAllRows`.

Uitleg:

* Voorwaardelijke opmaak: Dit markeert de rijen die we willen verbergen.

* VBA-macro: Deze code doorloopt de rijen en controleert of de voorwaardelijke opmaak op elke rij van toepassing is. Als dit het geval is, wordt de `RowHeight` op 0 gezet, waardoor de rij feitelijk onzichtbaar wordt. We gebruiken de voorwaardelijke opmaakformule als onderdeel van de macro, dus deze is niet alleen gebaseerd op de opmaak, aangezien die kan veranderen.

Belangrijke overwegingen:

* Prestaties: Als u een zeer grote dataset heeft (tienduizenden rijen), *kan* deze aanpak langzaam zijn omdat deze door elke rij heen wordt herhaald. Er kunnen complexere maar snellere VBA-oplossingen zijn als de prestaties van cruciaal belang zijn.

* Herberekening: Wanneer uw gegevens veranderen (en de regels voor voorwaardelijke opmaak opnieuw worden berekend), moet u de macro opnieuw uitvoeren om de rijen opnieuw te verbergen als de voorwaarden zijn gewijzigd. U kunt dit automatiseren met behulp van een gebeurtenishandler in VBA (bijvoorbeeld `Worksheet_Change` om de macro te activeren telkens wanneer een cel op het blad wordt gewijzigd). Wees echter voorzichtig, want het uitvoeren van een macro bij elke wijziging kan de zaken ook vertragen.

Voorbeeld met gebeurtenis 'Worksheet_Change' (automatisch verbergen):

Om het verbergen automatisch te maken wanneer de gegevens veranderen, kunt u de VBA-code als volgt wijzigen. In plaats van de code in een module te plaatsen, plaatst u deze in het codevenster van het *werkblad*:

1. Klik met de rechtermuisknop op de bladtab (bijvoorbeeld 'Blad1') in Excel en selecteer 'Code bekijken'. Hierdoor wordt de VBA-editor rechtstreeks geopend naar de codemodule van het werkblad.

2. Plak de volgende code in het codevenster van het werkblad:

```vba

Private Sub Worksheet_Change (ByVal Target As Range)

' Roep de macro HideRowsBasedOnFormat aan telkens wanneer het blad verandert.

Verberg rijen op basis van indeling

Einde sub

Sub HideRijenBasedOnFormat()

Dim rng als bereik, cel als bereik

Dim ws As-werkblad

Dim condFormat als FormatCondition

' Wijzig 'Blad1' in de naam van uw blad

Set ws =ThisWorkbook.Sheets("Blad1")

' Wijzig A1:Z100 naar het werkelijke bereik waar de voorwaardelijke opmaak wordt toegepast

Stel rng =ws.Range("A1:Z100") in

' Loop door elke cel in het bereik

Voor elke cel in rng.Rows

'Ga ervan uit dat je je in eerste instantie niet verstopt

cel.Verborgen =Onwaar

'Loop door alle voorwaardelijke formaten

Voor elke condFormat In cell.FormatConditions

Als condFormat.Type =xlExpression Dan

'Evalueer de formule, als het waar is, verberg het dan

If ws.Evaluate(condFormat.Formula1) Dan

cel.Verborgen =Waar

Afsluiten voor

Einde Als

Einde Als

Volgende condFormat

Volgende cel

Einde sub

Sub ToonAlleRijen()

Dim ws As-werkblad

' Wijzig 'Blad1' in de naam van uw blad

Set ws =ThisWorkbook.Sheets("Blad1")

ws.Rows.Hidden =Onwaar

Einde sub

```

* Belangrijk: Vervang `"Blad1"` en `"A1:Z100"` door uw werkelijke bladnaam en gegevensbereik, zoals voorheen.

Wanneer u nu een waarde op het blad wijzigt, wordt de macro `HideRowsBasedOnFormat` automatisch uitgevoerd, waardoor alle rijen die voldoen aan de criteria voor voorwaardelijke opmaak opnieuw worden verborgen.

Vergeet niet om uw Excel-bestand op te slaan als een werkmap met macro's (.xlsm) om de VBA-code te behouden.

Deze aanpak biedt een flexibele manier om rijen in Excel dynamisch te "verbergen" op basis van een formule, hoewel hiervoor zowel voorwaardelijke opmaak als VBA nodig is. Kies de methode die het beste bij uw behoeften en comfortniveau past met VBA. De eenvoudigere, door knoppen geactiveerde macro is vaak een goed startpunt.

Previous: Next:
  Microsoft Excel
·Hoe verplaats je door komma ge…
·Welke sleutel gebruikt als u o…
·Hoe kan ik de logische functie…
·Hoeveel kolommen in één Exch…
·Hoe vind je de grootste van dr…
·Wat is de snelste manier om Ex…
·Wat is het maximale aantal kol…
·Welk onderdeel van Excel 2003 …
·Hoe voer je de Naka Rushton -f…
  Related Articles
Welke maatregelen kunnen worden genomen …
Wat zijn de belangrijkste principes van …
Wat zijn de belangrijkste kenmerken van …
Wat zijn de verschillende soorten databa…
Wat zijn de meest voorkomende problemen …
Welke procedure volgt u als u een bestaa…
Welke strategieën kunnen worden geïmpl…
Welke problemen bent u tegengekomen bij …
Hoe kan ik mijn workflow optimaliseren o…
  Software Articles
·Help met Lotus 123 Macro's 
·Hoe te kopiëren en plakken Met behulp v…
·Bespreek vijf gebieden waar computersyst…
·Wat zijn de gemeenschappelijke kenmerken…
·Hoe de Endnote Separator verwijderen in …
·Hoe te wissen van een bepaalde kleur in …
·Hoe PDF-bestanden in Ubuntu samenvoegen 
·Hoe te Audio & Video Branden op een cd 
·Hoe maak je een schets van een cirkel in…
Copyright © Computer Kennis https://www.nldit.com