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

Opgelost Kopiëren met voorwaarde

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

serpent xx

Gebruiker
Lid geworden
2 mei 2008
Berichten
201
Dag forumleden,

kan iemand mij helpen met het volgende?
Het is de bedoeling dat de waardes die resulteren vanuit de formule in kolom F vanaf cel F3 met een druk op de commandbutton gekopieerd worden naar de kolom die matched met de waarde van cel F2. In bijgaand voorbeeld dus naar kolom I.
 

Bijlagen

Code:
Range("g3").Offset(, Range("f2")).Resize(5) = Range("f3:f7").Value
 
Ik was iets te voorbarig. Het is de bedoeling dat vanaf F3 tot F?? (dit is vooraf niet bekend) gekopieerd wordt.
Ook kan het zijn dat een cel in kolom F een kleur heeft; ook deze moet dan samen met de waarde gekopieerd worden. Ik kom naast Value niet echt iets tegen die dit regelt. (?)

Is dit mogelijk?
 
Yep. En om het nog ingewikkelder te maken:
De "kopwaardes" 1 t/m 5 kunnen ook alfanummerieke waardes zijn; bv A, B, C, D,.... of 1.1, 1.2, 1.3, 1.4, ....
Dan lopen deze codes blijkbaar vast.
 
Dit werkt. Enkel de Range is hier statisch bepaald (F3:F100). Kun je dit ook variabel bepalen; dus vanaf F3 naar onderen toe? Ik heb dit zelf al geprobeerd met End(x1Down.Colum toe te voegen maar dat werkt niet:
x = Application.CountA(Range("f3").End(x1Down).Column)
 
Code:
    x = Application.CountA(Range(Range("F3"), Range("F3").End(xlDown)))
Precies tegelijk op het knopje gedrukt!
 
Waarom niet:
Code:
Range("f3", cells(rows.count,6).end(xlup))
Of met down; net wat je wil.
 
De oplossing van AHulpje werkt voor mij.
Iedereen bedankt voor het meedenken en zijn/haar inbreng.
 
Als de waarde van F2 niet gevonden wordt gaat het fout.
 
Klopt. Dat heb ik opgelost door de invoer te beperken tot toegestane waardes.
 
Persoonlijk ben ik geen fan van end(xldown) omdat er steeds het risico is van een lege cel in het bereik en dan kan je een deel waarden vergeten mee te nemen. In dit geval is het duidelijk omdat het maar enkele regels zijn maar bij een groter bereik moet je al erg zeker zijn dat dit niet het geval is of kan zijn.

De combinatie van Range en Cells kan dan weer verwarrend zijn voor de modale gebruiker.
Dus mijn favoriet is dan ook
Code:
Range("F3", Range("F" & Rows.Count).End(XlUp))
zodat je visueel direct ziet dat het om de F-kolom gaat terwijl je bij Cells het alfabet moet gaan aftellen om te weten welke kolomletter het 2de argument aanduid.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan