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

brows met filter

Status
Niet open voor verdere reacties.

hanbohlken

Gebruiker
Lid geworden
22 mrt 2020
Berichten
15
Hoe brows je naar de volgende (of de vorige) rij als je een filter aan hebt? activecell.offset(1,0) brengt je naar een onzichthare rij wegens het filter.
 
Controleer wat de volgende zichtbare regel is en ga daar naar toe.
 
brows-met-filter

Mijn vraag is juist hoe je die volgende regel vindt met VBA. In het excelsheet is het gewoon pijltje neer, maar hoe is dat in VBA?
 
Daar zijn weer 1001 mogelijkheden voor.
Zonder voorbeeld document zal daar geen eenduidig antwoord op komen.
 
Dag Ednoor,

Testbestand emaakt, https://1drv.ms/x/s!AuWc9cmiacCbg-oCg1Zxd1NdP-J0gg?e=FcUoE2
Het betreft een boekhoudprogramma, waarbij ik voor iemand, die in paniek schiet bij de aanblik van een spreadsheet een schermpje met één te bewerken mutatie (als werkblad of als formulier) wil maken.
Met de macro selecteer je nu alle mutaties waarbij de kostenplaats niet is ingevuld, maar andere selecties (begin tot eind deze maand; alles voor een bepaalde kostensoort of alles voor een bepaalde betaler/ontvanger en combinaties) zijn natuurlijk ook mogelijk.
Na instellen van het filter wil ik met VBA code bij deze instelling naar rij 5 gaan en met [A1].offset(1,0) lukt dat niet. [A5] select werkt nu wel maar niet meer als de kostenplaats is ingevuld. En daarna naar rij 6,7 en dan 10!
Natuurlijk kan ik per regel opschuiven, de filtercriteria toetsen en met een loop doorgaan tot ik weer een te controleren regel heb, maar volgens mij moet dat veel eenvoudiger kunnen.
Lang geleden gebruikte ik zoiets; id denk dat je met een instructie {DOWN} een toetsindrukking kon uitvoeren, vermoedelijk samen met application.workbook of zoiets. Misschien is dit na een paar vernieuwingen van excel vervallen, maar is daar niets voor in de plaats gekomen?

Dank voor je moeite!
 
Ik begrijp niet wat je wilt.
Je kan gewoon de pijltjestoets gebruiken om een regel naar beneden te gaan.
 
Code:
Sub omlaag()
  Application.SendKeys "{Down}"
End Sub
 
@VenA: Je begrijpt wat ik bedoel. de code Application.SendKeys "{Down}" doet bij mij echter niets (met en zonder filter aan). Heb ik iets vergeten of niet begrepen? Ik selecteer cel [B7] en voer de code uit. cel [B7] blijft geselecteerd.

@Edmoor: Ik kan gewoon met het pijltje naar beneden, maar degene voor wie ik het programma maak schiet bij zoiets in de stress. Als ik met simpele programmacode door de gefilterde rijen kan gaan, dan kan ik van elke rij een formuliertje laden, dat de gebruiker kan goedkeuren of aanpassen en de programmacode slaat dat dan weer op in het spreadsheet.

Groet,

Han
 
Ok, je zet dus het filter aan met dat knopje en dan wil je dat die code direct naar een bepaalde regel gaat?
Naar welke regel moet dat dan zijn in je voorbeeld?

Daarnaast, iemand die in de stress schiet als hij op het pijltje naar beneden moet drukken heeft niets op een computer te zoeken.
 
Nee, dat filter zet ik aan met programmacode in een bestand met ca 10 werkbladen en 5 pagina's code voor allerlei delen van die boekhouding.
Als ik dan in programmacode het bankboek met bankmutaties heb geactiveerd wil ik (met programmacode) naar de eerste (en daarna de volgende) regel manouvreren en met de gegevens van die regel het door de gebruiker te bekijken formulier kopiëren. De gebruiker krijgt op dit formulier weer knopjes terug en verder om een regel terug of verder te gaan. De programmacode moet dan in het bankboek een regel opschuiven en het formulier opnieuw vullen. In het voorbeeld moet dus eerst regel 5 gebruikt worden om het formulier te vullen, dan 6 en 7, en dan 10-14.
 
Kijk naar het voorbeeld van VenA in #10.
Dat kan je dan in je eigen code gebruiken.
 
VenA, bedankt. Jouw bestandje doet het bij mij ook en daarmee zal ik er wl uit komen...!

Groet,Han
 
VenA (of iemand anders) Wie heeft er een idee waarom de code Application.SendKeys "{Down}" wel werkt als je vanuit een spreadsheet deze met een macroknop activeert, maar niet vanuit de VisualBasic editor met F5 of F8? Of zit er iets anders dwars? https://1drv.ms/x/s!AuWc9cmiacCbg-oCg1Zxd1NdP-J0gg?e=koFF0X Kan de oorzaak zitten in dat uitvoering vanuit het werkblad de gezonden toets in dat werkblad werkt en vanuit de editor in de editor (al zie ik daar niets van)?

Groet,Han
 
Omdat je dan het VBA window actief hebt en niet het window met het betreffende werkblad.
Die opdracht doet het dan wel maar zal de cursor in de VBA editor een regel omlaag zetten.
Als je F5 gebruikt in plaats van F8 dan zie je dat wel.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan