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

Statement aantal.als via VBA

Status
Niet open voor verdere reacties.

JKlerks

Gebruiker
Lid geworden
15 aug 2017
Berichten
56
Goedemorgen allen,

ik heb een lijst met data (autorisaties in SAP) en wil deze analyseren.

Een van de controles is of een transactie voorkomt in een financieel profiel. Dit markeer ik in een aparte kolom met Ja/Nee. Vervolgens gebruik ik een hulpkolom met de transactienaam en Ja/Nee erachter. Het doel is de volgende en laatste kolom waarin ik alle transacties wil markeren die OOK in een finance profiel voorkomen, omdat ik die speciale aandacht wil geven. Hiervoor gebruik ik onderstaande statements, omdat de lijst momenteel 50000 regels is en mogelijk nog groter wordt.

Code:
Sub A_VERWERKING_INVOER()

Sheets("INVOER").Select
Sheets("INVOER").Range("D2", Range("A500000").End(xlUp).Offset(0, 3)).FormulaR1C1 = "=IF(ISNUMBER(SEARCH(""FINANCE"",RC1)),""Ja"",""Nee"")"
Sheets("INVOER").Range("D2", Range("D500000").End(xlUp)).Copy
Sheets("INVOER").Range("D2").PasteSpecial Paste:=xlPasteValues

Sheets("INVOER").Range("E2", Range("A500000").End(xlUp).Offset(0, 4)).FormulaR1C1 = "=RC3&RC4"
Sheets("INVOER").Range("E2", Range("E500000").End(xlUp)).Copy
Sheets("INVOER").Range("E2").PasteSpecial Paste:=xlPasteValues

Sheets("INVOER").Select
Range("E500000").End(xlUp).Select
Names.Add Name:="EOC", RefersTo:=ActiveCell
Sheets("INVOER").Range("F2", Range("A500000").End(xlUp).Offset(0, 5)).FormulaR1C1 = "=IF(COUNTIF(R2C5:EOC,RC3&""JA"")>0,""Ja"",""Nee"")"

End Sub

Ik wil graag het bestand klein houden, dus niet met draaitabellen werken, maar deze formule is erg traag (mogelijk omslachtig) en als ik hem laat schrijven krijg ik wel het juiste resultaat (zo lijkt dat) maar als ik in de cel sta, laat de formule niet het hele bereik zien van aantal.als.

Zijn er betere/slimmere oplossingen?

Ik ben u wederom bijzonder erkentelijk!

Gr Joshua
 

Bijlagen

Laatst bewerkt:
Waarom sorteer je de gegevens niet op kolom A ?
Met een array werkt alles veel sneller en zijn alle hulpkolommen overbodig.

Je uitleg zou duidelijker kunnen.
 
uitleg was inderdaad wat omslachtig, excuus.

Sorteren is een oplossing. Ik vroeg me af of er andere oplossingen zijn.

De insteek hier is vanuit profielen en ik wil erna op een ander tabblad met de insteek gebruikers een vert.zoek actie uitvoeren op deze transactiecodes. Sorteren is een betere oplossing, omdat ik dan de aantal.als kan weglaten zo lang de eerste hit "ja" is. Ik probeer eigenlijk het risico van een onterechte "nee" van vert.zoeken te voorkomen door overal ja achter te laten zetten.

Mocht iemand nog een ander idee hebben, meer dan welkom en anders sluit ik het topic vanavond. Dank!
 
Ik wil graag het bestand klein houden, dus niet met draaitabellen werken

Als je de juiste vlaggetjes uitzet in de opties van een draaitabel dan wordt het bestand slechts een paar % groter.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan