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

Kolommen kopieren en plakken

Status
Niet open voor verdere reacties.

mobo2018

Gebruiker
Lid geworden
17 jul 2018
Berichten
68
Hallo,

Momenteel ben ik een rapportage aan het maken op basis van aangeleverde informatie.
Uit de aangeleverde informatie moet ik een aantal kolommen kopiëren en plakken in de rapportage.
Bij de functie kopieren/plakken worden de kolommen naast elkaar gezet, hetgeen niet de bedoeling is.
Ik ben aan de slag gegaan met een macro en kom op een repeterende formule uit voor iedere kolom die gekopieerd moet worden.
Mijn vraag hierbij is, of dit eenvoudiger kan en indien er kolommen bij komen, of deze automatisch mee genomen kunnen worden?

In de bijlage heb ik een voorbeeld gedaan inclusief de betreffende macro

Alvast bedankt,

Mo
 

Bijlagen

probeer het eens zo.
Code:
Sub Analyse()
Dim i As Integer
i = Sheets("Aangeleverd").Cells(1, Columns.Count).End(xlToLeft).Column

For i = 3 To i Step 2
    With Sheets("Aangeleverd")
        .Cells(3, i).Resize(10).Copy Sheets("Rapport").Cells(6, i + 1)
    End With
Next

End Sub
 
plaats eens het bestandje waarin je de code hebt toegepast.
 
Waarom heb je Dim i as integer in de code uitgeschakeld.
 
Ik ben zojuist aan de slag gegaan om dit te implementeren in mijn bestand
Hier loop ik tegen 2 dingen aan die ik niet had voorzien.

* Als er in kolom 1 lege cellen staan, stopt de bewerking en gaat hij niet meer verder in kolom 3
* Na ongeveer 100 regels worden de gegevens niet mee aangevuld.

Gr,
Mo
 

Bijlagen

Geen idee wat je nou precies bedoelt.
Waarschijnlijk dit.
Code:
Sub Analyse()
 Dim i As Integer
 Dim j As Integer
 
i = Sheets("Aangeleverd").Cells(1, Columns.Count).End(xlToLeft).Column
j = Sheets("Aangeleverd").Range("A" & Rows.Count).End(xlUp).Row

For i = 3 To i Step 2
    With Sheets("Aangeleverd")
        .Cells(3, i).Resize(j).Copy Sheets("Rapport").Cells(6, i + 1)
    End With
Next

End Sub

p.s. in jouw code stond "Dim i as integer" weer uitgeschakeld.
 
Ja, dit is inderdaad wat ik zocht.

In mijn toepassing heb ik een verkeerde aanpassingen gemaakt, waardoor de VBA code niet werkte zoals hij bedoeld was.

Bedankt voor je hulp

Gr,.
Mo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan