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

Waarde copieren na een sendkey statement

Status
Niet open voor verdere reacties.

Remco00

Gebruiker
Lid geworden
4 feb 2007
Berichten
10
Hallo allemaal,

Ik heb een probleem met een sendkeys statement. Volgens mij is het redelijk simpel op te lossen. Hopelijk kunnen jullie me hierbij helpen

Ik heb een database die door middel van een autofilter gefiltered wordt.
Nu wil ik door middel van een macro de eerst geshowde waarde van de gefilterde lijst copieren. Wat de macro dus moet doen is naar de header van het filter gaan, 1 cel naar beneden en die waarde op het clipboard zetten.

Ik probeer dit door middel van

Application.Goto Reference:="R5C14"
Application.SendKeys "{DOWN}"
Selection.copy

Het rare is dat de waarde van de header van het autofilter (dus de cel waar hij in eerst instantie heengaat) gecopieerd wordt.

Wanneer ik alleen de eerste twee regels van het script uitvoer gaat hij wel netjes naar de regel die ik wil. Vergeet ik iets ofzo (bv cel activeren voordat ik hem kan copieren?

Bedankt voor jullie hulp.

groet,
Remco
 
oh ja, ik heb geprobeerd om de macro te vertragen door middel van
Application.Wait (Now + TimeValue("0:00:01"))
maar dat werkt ook niet. je ziet hem een second wachten en dan copieert ie alsnog het verkeerde veld......:confused:
 
Dit zou moeten werken:

Code:
With ActiveSheet.AutoFilter.Range
    On Error Resume Next
    .Offset(1).Resize(.Rows.Count - 1, 1).SpecialCells(xlCellTypeVisible).Cells(1).Copy
    On Error GoTo 0
End With

Stuur eens een voorbeeldbestandje bij aub.

Wigi
 
Beste Wigi,

bedankt voor je reactie.

Ik heb een excel voorbeeldje bijgevoegd met de macro.
In feite komt het erop neer dat de plaats die ik dmv het autofilter selecteer ,gecopieerd moet worden naar een andere cel. Dus bv ik kies Amsterdam, dan wordt de bovenste van de selecteerde records gecopieerd naar de andere cel. Selecteer ik Utrecht dan zou na het draaien van de macro Utrecht gecopieerd moeten worden.Nu copieert hij niet het eerste record maar de header van de filter....

De reden dat ik heb gekozen voor sendkeys is dat ik bij offset telkens het probleem kreeg dat ook de gefilterde records werden meegenomen.

bedankt
Remco
 

Bijlagen

Voilà

Code:
With ActiveSheet.AutoFilter.Range
    On Error Resume Next
    Application.Intersect(.Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible), _
        Columns("B:B").EntireColumn).Cells(1).Copy
    Range("C1").PasteSpecial xlValues
    Application.CutCopyMode = False
    On Error GoTo 0
End With

Vermijd vooral het gebruik van sendkeys...

Wigi
 
Laatst bewerkt:
Perfect! Dit is exact waar ik naar zocht (en al lang naar heb gezocht!)

Bedankt voor de supersnelle hulp! :thumb: :thumb:

Een vraagje nog: waarom sendkeys vermijden? Werkt dit niet goed?

groet,
Remco
 
Denk al maar gewoon aan landinstellingen.

De toetsencombinaties kunnen nogal wel eens verschillen. Ook de onderstreepte letters in menu's zijn anders in andere talen.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan