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

Macro Data kopiëren: markeren door toevoegen kolom

Status
Niet open voor verdere reacties.

boome

Gebruiker
Lid geworden
11 mei 2009
Berichten
43
Ik heb een macro gemaakt die een sheet met data een autofilter instelt en vervolgens de gefilterde dat naar een nieuw tabblad kopieert.
Dat werkt allemaal zonder problemen, maar nu zou ik aan de gefilterde data een extra kolom (kolom V) willen toevoegen waarin aangegeven wordt dat de data gekopieerd werden bv de letter J. De bedoeling hiervan is te vermijden dat dezelfde dat naderhand nogmaals gekopieerd worden als er nieuwe gegevens in de sheet met data ingegeven werden.

Hopenlijk hebben jullie een idee hoe ik dit kan realiseren:

Momenteel heb ik reeds de volgende code:

Code:
Sub Kopieer_gescoord()

Worksheets("PRL").Activate

Range("PRL_data").AutoFilter Field:=17, Criteria1:="G"
Range("PRL_data").AutoFilter Field:=22, Criteria1:="="
Range("PRL_data_copy").Select
Selection.Copy

Sheets("gewonnnen Proj").Activate
With ActiveSheet
X = Cells(Rows.Count, "A").End(xlUp).Row + 1
End With

ActiveSheet.Paste

End Sub

Alvast bedankt
 
Je zou je doelwerkblad (gewonnen proj) leeg kunnen maken vanaf de invulcel (bijv. cel A2).
Vervolgens kopieer je de geselecteerde waardes in dat werkblad, zodat je geen dubbelen hebt omdat je steeds onder de vorige selectie wegschrijft.
Ik zou geen gebruik maken van Selection en Select.

Met vriendelijke groet,


Roncancio
 
Zo had ik het nog niet bekeken, alleen verlies ik dan wel het overzicht op de nog niet gekopieerde lijnen.
Het zou dus wel handig zijn mocht ik op een of andere manier de gekopieerde cellen kunnen markeren door een extra waarde weg te schrijven in een extra kolom.

Ik ga voorlopig al eens aan de slag met de alternatieve manier van werken.
Wordt vervolgd
 
Ik heb er ondertussen nog verder op gezocht en ik ben er uiteindelijk zelf uitgeraakt :)

Hierbij de code die ik uiteindelijk gebruikt heb om het probleem op te lossen:

In eerste instantie heb ik de kolom kopie voor elke nieuwe entry de standaardwaarde N meegegeven.
De kolom heb ik via een dynamisch bereik (functie verschuiving: VERSCHUIVING(PRL!$V$3;0;0;AANTALARG(PRL!$A:$A)-1;1) )de naam kopie gegeven.

Via de macro code worden dan gekopieerde cellen op waarde J gezet

Code:
For Each cl In Range("kopie")
If cl = Range("X1") Then
cl.Offset(0, 0) = [Y1]
End If
Next

Waarbij in X1: de waarde J staat en in Y2 de waarde N

Ondertussen heb ik een nieuwe vraag maar daar zal ik een nieuwe post voor maken
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan