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

VB script om bepaalde positie tekopi�ren

Status
Niet open voor verdere reacties.

Kgert

Gebruiker
Lid geworden
20 jul 2010
Berichten
7
Ik ben bezig met een macro, die bepaalde gegevens kopieert uit een database kopieert die onder de naam "aanmeldingen training" op een een werkblad staan. Door dat het bestand door meerdere personen wordt gebruikt en deze personen verschillende gegevens willen, zorgen macro voor een kopie "op maat" op een ander werkblad. Maar ik kom er op het moment niet uit. Ik heb de gegevens van aanmeldingen in een tabel staan die dus te filteren zijn. Ik wil nu graag dat mijn macro een bepaalde positie kopieert. dus niet cel B3 maar positie 3 in kolom B. De eerste 2 posities liggen vast en bewegen dan ook niet. De gegevens die uit de cel worden gehaald op de 3de positie wil ik kopi�ren naar cell AA1 op de nieuw aan te maken werkblad "overzicht afname pakketten".

Sub overzicht_afname_pakketten()

Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "overzicht afname pakketten"
Sheets(Sheets.Count).Range("AA1").Value = Sheets("Aanmeldingen training").Range("B3").Value

Ik hoop dat iemand me kan vertellen hoe ik een bepaalde positie kan kopieren.

mvg,
Gert Katerbarg
 
Ik weet niet of ik je vraag wel goed begrijp (een gedepersonaliseerd voorbeeld doet vaak wonderen)
Maar mogelijk heb je iets aan Offset, zie daarvoor de VBA helpfunctie.

mvg Leo
 
Ik weet niet of ik je vraag wel goed begrijp (een gedepersonaliseerd voorbeeld doet vaak wonderen)
Maar mogelijk heb je iets aan Offset, zie daarvoor de VBA helpfunctie.

mvg Leo

De eerste 2 regels staan vast, hier staan de titel en de filter koppen in, ik wil graag dat de eerst zichtbare positie kopiëren.
Dat zal dus zonder filter cel 3 zijn. Echter wanneer de filter er op zit zou het in theorie elke cel in kolom B kunnen zijn die ik wil kopiëren. Maar de macro moet altijd een vaste positie hebben dus altijd net onder de filter koppen, moet hij de eerste cel kopieren.
Ik heb een voorbeeld meegestuurd waarin ik met een rood vierkantje heb duidelijk gemaakt waar het bestand moet kopieren.

mvg,
Gert
 

Bijlagen

Ik ging er vanuit de je de derde positie in de cel wilde kopiëren. Vandaar dat de code niet de gewenste uitkomst gaf. Probeer deze code eens:

Code:
Sub tst()
Dim i As Integer
    For i = 3 To Sheets("aanmelding training").Cells(Rows.Count, 1).End(xlUp).Row
        Sheets("overzicht_afname_pakketten").Cells(Rows.Count, 1).End(xlUp).Offset(1) = _
            Sheets("aanmelding training").Cells(i, 1)
    Next
End Sub
 
Ik ging er vanuit de je de derde positie in de cel wilde kopiëren. Vandaar dat de code niet de gewenste uitkomst gaf. Probeer deze code eens:

Code:
Sub tst()
Dim i As Integer
    For i = 3 To Sheets("aanmelding training").Cells(Rows.Count, 1).End(xlUp).Row
        Sheets("overzicht_afname_pakketten").Cells(Rows.Count, 1).End(xlUp).Offset(1) = _
            Sheets("aanmelding training").Cells(i, 1)
    Next
End Sub

Bedankt voor de Code, nog een vraag kopieert hij de gegevens dan ook naar CEL AA1?
Mvg,
Gert
 
Gert,

Wijzig in het onderstaande stukje code de 1 in 27 en dan staat alles in kolom AA:
Code:
Sheets("overzicht_afname_pakketten").Cells(Rows.Count, 1
 
Gert,

Wijzig in het onderstaande stukje code de 1 in 27 en dan staat alles in kolom AA:
Code:
Sheets("overzicht_afname_pakketten").Cells(Rows.Count, 1

Tot slot nog even nieuwsgierigheid, als ik het nog een positie lager plaats. zeg de 2 rij? voeg ik er dan nog wat aan toe?
 
Wat ik probeer te vragen is, kan ik bijvoorbeeld ook een kopie maken naar cel AA2 in plaats van AA1

mvg,
Gert
 
Eigenlijk wordt AA2 al als eerste cel gebruikt. Dat komt doordat de code in kolom AA vanaf de laatste rij omhoog naar de eerst gevulde zoekt en dan in de cel eronder het gekopieerde plaatst. Hierdoor wordt automatisch AA2 als eerste cel gebruikt.
Je zou in cel AA1 een koptekst kunnen opnemen. Iets als "Evenementen".
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan