Archief - Excel: (wellicht eenvoudige) macro maken

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

matiehahahas

Legacy Member
Hallo allen

ik heb een vraagje i.v.m. een te maken macro in excel. Op het internet vond ik enkele gelijkaardige macro's, maar geen enkele van hen deed wat het zou moeten doen.
Het navolgende zou moeten gebeuren:
In een excelsheet worden gegevens ingebracht. Afhankelijk van die gegevens worden in een gelinkte excelsheet verschillende "testen" weergegeven. Nu is het zo dat afhankelijk van de input, er soms rijen staan zonder test, maar die niet volledig leeg zijn, in de gelinkte sheet. Om het overzicht te bewaren, had ik graag een macro opgesteld die deze rijen verbergt (niet verwijdert, want door de input te wijzigen, kan het zijn dat deze rij alsnog een test vertoont, dewelke dan weer zichtbaar moet worden). Ik heb inmiddels een macro opgesteld die alle rijen terug zichtbaar maakt, maar nu rest nog een macro die een rij verbergt als :
- de cel van een willekeurige rij in kolom 1 leeg is (ik dacht dat dit in VB als volgt wordt weergegeve: cells (r,1)) ;
- de cel van een willekeurige rij in kolom 3 leeg is (ik dacht dat dit in VB als volgt wordt weergegeve: cells (r,1)) ;
- de cel van een willekeurige rij in kolom 22 leeg is OF een 0 bevat (ik dacht dat dit in VB als volgt wordt weergegeve: cells (r,1)).

Obv het internet had ik al het volgende:

Sub verbergen()
Dim r As Integer, tot As Integer
tot = Range("A6").CurrentRegion.Rows.Count + 5
For r = 6 To tot
If Cells(r, 1) = "" And Cells(r, 22) = "" Then _
Rows(r).Hidden = True
Next r
End Sub

Die tot = Range("A6").CurrentRegion.Rows.Count + 5
For r = 6 To tot
diende ik letterlijk over te nemen (het voorbeeld op internet stelde pas te beginnen met verbergen vanaf een bepaalde rij) omdat ik niet echt thuis ben in programmeren en dus ook niet wist wat weg mocht in de formule en wat niet, dus heb ik die formule wat gefinetuned.

Alvast bedankt voor de hulp!

grafzerkpisser

Legacy Member
Sub test()
If Range("A1").Value = "" Then
Rows("2:2").EntireRow.Hidden = True
Else
Rows("2:2").EntireRow.Hidden = False
End If
End Sub


Kort samengevat: Als cel A1 leeg is gat je heel rij 2 hidden maken. zoniet maak je hem unhidden.
Ben je hier iets mee?

grafzerkpisser

Legacy Member
Ik denk ik jouw geval dat je er zo komen mocht je
Rows(r).Hidden = True
aanpast naar:
Rows(r,r).EntireRow.Hidden = True
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan