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

Zichtbare Cel uitlezen in autofiltered range

Status
Niet open voor verdere reacties.

jansbl

Gebruiker
Lid geworden
1 mrt 2007
Berichten
86
Hallo,

In een vorige vraag heeft Wigi mij gelezen hoe ik het aantal zichtbare rijen kan tellen in een (auto-) filtered gebied.

Ik heb daar het volgende van gemaakt:
Code:
Dim rng As Range
Dim aantal As Integer
aantal = rng.Columns(1).SpecialCells(xlCellTypeVisible).Count - 1

Nu wil ik, voor verdere verwerking, weten wat de waarden zijn in de zichtbare cellen van kolom A.
Ik heb het volgende aan bovenstaande toegevoegd:
Code:
Range("A1").Select
For teller = 2 To aantal
   strWat = ActiveCell.Offset(teller, 0).SpecialCells(xlCellTypeVisible)
Next

En dat gaat niet goed.
Als ik alleen:
Code:
strWat = ActiveCell.Offset(teller, 0)
probeer, krijg ik de waardes van alle cellen in kolom A, dus gewoon bovenaan beginnend, verborgen en zichtbaar.
Dus heb ik het vermoeden dat ik met SpecialCells(xlCellTypeVisible) moet werken.
Alleen weet ik niet hoe dat er op de correcte wijze achter te krijgen.

Enig idee wat ik moet veranderen?

Alvast bedankt,

Jans
 
Jansbl, dit kan je eenvoudiger oplossen met de worksheet funcie 'SUBTOTAL' (Subtotaal). Deze functies kan je ook in je code gebruiken als je verder wilt werken met die getallen. Als voorbeeldje heb ik het volgende subje geschreven.
Code:
Sub SubTotaal()
Dim dSubTotaal As Double, dTotaal As Double

    dSubTotaal = WorksheetFunction.Subtotal(9, Range("A:A"))
    dTotaal = WorksheetFunction.Sum(Range("A:A"))
    MsgBox "Totaal kolom A inclusief verborgen rijen: " & dTotaal & Chr(13) & _
            "Totaal kolom A exclusief verborgen rijen: " & dSubTotaal, vbOKOnly, "Results"
            
End Sub
Run die maar 'ns in je eigen sheet...;)

Groet, Leo
 
Laatst bewerkt:
Jansbl, dit kan je eenvoudiger oplossen met de worksheet funcie 'SUBTOTAL' (Subtotaal). Deze functies kan je ook in je code gebruiken als je verder wilt werken met die getallen.

Groet, Leo


Dank je wel Leo,

Maar wat ik graag wil weten is de waarde van de afzonderlijke, zichtbare, cellen in kolom A. De bedoeling is dat ik bekijk wat de waarde van een cel is, en aan de hand daarvan, die waarde verander of niet.
Daarvoor had ik die lus bedacht, om alle waardes afzonderlijk te bekijken.

m.vr.gr.,

Jans
 
Jansbl, Dat kan ook....:D Zet dit in een module als testje...
Code:
Sub Zichtbaar()
Dim i As Double, y As Double
    
    i = 2
    y = 1 'dit is je kolomvariabele; zet hier het juiste nummer in...
    
    Do Until Cells(i, y).Value = ""
        If Rows(i).Hidden = False Then
            'doe hier je ding als je cel zichtbaar is...
            If Cells(i, y).Value > 4 Then
                Cells(i, y).Value = Cells(i, y).Value * 10
            End If
        End If
    i = i + 1
    Loop
    
End Sub

Doe dit trouwens wel in een testsheet! In deze code wordt de zichtbare cel met 10 vermenigvuldigd!

Groet, Leo
 
Laatst bewerkt:
Hartelijk dank Leo,:thumb:

Hier kan ik inderdaad mee verder.

Met vriendelijke groet,

Jans
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan