Aantal.als is VBA

Status
Niet open voor verdere reacties.

bjorn1976

Gebruiker
Lid geworden
31 okt 2006
Berichten
9
ben op zoek naar een vba code die in excel kolom "A" afloopt
en in cel "B1" het aantal keer gevonden "ok" plaatst.

Ik wil dit op het moment niet doen met de werkbladfunctie aantal.als omdat deze macro later in een ander workbook wordt geplaatst en dan probleemen krijg met mijn path.
wie kan mij helpen.

Groetjes Bjorn1976.
 
Bjorn

alstu

Code:
Sub Aantalzetten()
Dim c As Range
For Each c In Range("A1", Range("A" & Rows.Count).End(xlUp))
    c.Offset(, 1) = WorksheetFunction.CountIf(Range("A1", Range("A" & Rows.Count).End(xlUp)), c)
Next
End Sub

Wigi
 
Bedankt voor je reactie,

het ziet er goed uit, maar dit is niet exact wat ik bedoel.

hij mag alleen de waarden "Ok" zoeken, en deze aantal gevonden keren moeten specifiek in cel "B1" geplaatst worden, hij mag niet verder gaan naar cel ""B2", "B3", enz.


Bjorn

alstu

Code:
Sub Aantalzetten()
Dim c As Range
For Each c In Range("A1", Range("A" & Rows.Count).End(xlUp))
    c.Offset(, 1) = WorksheetFunction.CountIf(Range("A1", Range("A" & Rows.Count).End(xlUp)), c)
Next
End Sub

Wigi
 
Hoi bjorn1976,

Verander de code van Wigi in de onderstaande:

Code:
   Range("B1") = WorksheetFunction.CountIf(Range("A1", Range("A" & Rows.Count).End(xlUp)), "Ok")
 
het ziet er goed uit, maar dit is niet exact wat ik bedoel.

hij mag alleen de waarden "Ok" zoeken, en deze aantal gevonden keren moeten specifiek in cel "B1" geplaatst worden, hij mag niet verder gaan naar cel ""B2", "B3", enz.

Dan heb ik de vraag anders / verkeerd geïnterpreteerd. Mijn excuses.
 
ben op zoek naar een vba code die in excel kolom "A" afloopt
en in cel "B1" het aantal keer gevonden "ok" plaatst.

Ik wil dit op het moment niet doen met de werkbladfunctie aantal.als omdat deze macro later in een ander workbook wordt geplaatst en dan probleemen krijg met mijn path.
wie kan mij helpen.

Groetjes Bjorn1976.

hallo bjorn bedoel je dit?

Sub test()
waarde = InputBox("waarde", "") 'de te zoeken waarde opgeven

For Each c In [A:A]
If IsEmpty(c) Then Exit For 'breekpunt maken voor laaste cell
If c.Value = waarde Then
[B1] = 1 + [B1] 'teller voor hoeveel keer de waarde gevonden is
c.Offset(0, 1) = "ok"
End If
Next c

End Sub
 
Eric C

bedankt voor de moeite die je doet om een antwoord te geven, maar als de laatste activiteit van de vraagsteller reeds op 29 november vorig jaar was, denk ik niet dat we nog veel nut gaan hebben van dat antwoord.

Over je antwoord: probeer een lus te vermijden; ingebouwde functies in Excel gebruiken is over het algemeen veel interessanter.

Wigi
 
Eric C

bedankt voor de moeite die je doet om een antwoord te geven, maar als de laatste activiteit van de vraagsteller reeds op 29 november vorig jaar was, denk ik niet dat we nog veel nut gaan hebben van dat antwoord.

Over je antwoord: probeer een lus te vermijden; ingebouwde functies in Excel gebruiken is over het algemeen veel interessanter.

Wigi

Mja Wigi heb je gelijk had ik even niet gezien, maar er zijn genoeg mensen die topics afgaan zoals ik om iets te leren, en verder vraag dit persoon specifiek en een script quote : “Ik wil dit op het moment niet doen met de werkbladfunctie aantal.als” Verder gebruik deze simpele en duidelijke routine geregeld en is deze universeel toepasbaar dus misschien wel makkelijk voor een ander.

GR Eric
 
Verder gebruik deze simpele en duidelijke routine geregeld en is deze universeel toepasbaar dus misschien wel makkelijk voor een ander.

GR Eric

Daar heb je misschien een punt, al wil ik niet weten hoe lang een duurt indien je bv. ongeveer 20000 cellen moet afgaan en een aantal keer "OK" moet zetten. Lussen en waarden wegschrijven naar een werkblad zijn bij de traagste dingen die er zijn in VBA. Maar als de vraagsteller het zo wil, dan doen we het maar zo.

Groeten

Wigi
 
Daar heb je misschien een punt, al wil ik niet weten hoe lang een duurt indien je bv. ongeveer 20000 cellen moet afgaan en een aantal keer "OK" moet zetten. Lussen en waarden wegschrijven naar een werkblad zijn bij de traagste dingen die er zijn in VBA. Maar als de vraagsteller het zo wil, dan doen we het maar zo.

Groeten

Wigi

ja of 65000 cellen, daarom moet er een breekpunt in

if isempty(c) of if c.value = "" then exit for

gr eric
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan