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

Cellen automatisch kopieren

Status
Niet open voor verdere reacties.

Timpy

Gebruiker
Lid geworden
19 apr 2010
Berichten
8
Hallo allemaal,

Wie kan me helpen met volgend probleem?
Via een koppeling met een ander programma lees ik in excel een aantal gegevens in.
Nu zou ik deze gegevens automatisch x keer willen kopieren (op een ander werkblad).
De x is dan een aantal dat ik ook weer inlees via een externe koppeling.
De gegevens zouden op een blad van bvb 4 x 16 cellen automatisch achter mekeer moeten komen.
Bvb 5x tekst1; 2x tekst2; 1x tekst3, 3x tekst4 geeft dan:
eerste rij: tekst1 tekst1 tekst1 tekst1
tweede rij: tekst1 tekst2 tekst2 tekst3
derde rij: ...

Alvast bedankt.

Groetjes,

Tim
 
Hallo

Je vraag is me niet helemaal duidelijk zonder voorbeeldje :confused:, maar is dit wat je bedoeld?
Code:
Sub TEST()
For Each c In [Blad1!A1:A30]
  Sheets("Blad2").Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(, 4) = c.Value
Next
End Sub
Met vr gr
Jack
 
Laatst bewerkt:
Beste Timpy ;)

Heb je soms een voorbeeldbestandje met de wensen wat je graag zou willen.
Vul al eens handmatig in welk resultaat je wil bekomen.

Groetjes Danny. :thumb:
 
Heren,

Hopelijk maakt dit voorbeeldje het een beetje duidelijker.

Groeten,

Tim
 

Bijlagen

  • Voorbeeld.xlsx
    11,1 KB · Weergaven: 83
Timpy, Start je tabel gewoon netjes in cel A1 ipv ergens op regel 3 ofzo... Zet dan het codeblokje in een standaard module van de VBE en laat de code een keer lopen. :eek:;)
Code:
Sub VerdeelEnHeers()

    q1 = Range("A2", Cells(Rows.Count, 2).End(xlUp).Address)
    
    ReDim q2(1 To (WorksheetFunction.RoundUp(WorksheetFunction.Sum(Range("A2", Cells(Rows.Count, 1).End(xlUp).Address)) / 4, 0)), 1 To 4) As Variant
    
    z = 1
    
    For i = 1 To UBound(q1)
        For ii = 1 To q1(i, 1)
            If x = 4 Then x = 0: z = z + 1
            x = x + 1
            q2(z, x) = q1(i, 2)
        Next ii
    Next i

    Sheets(2).Range("A1").Resize(UBound(q2, 1), 4) = q2
    
End Sub

Groet, Leo
 
misschien toch wel ff makkelijk voor je.... (de bijlage) ;)

Groet, Leo
 

Bijlagen

  • TEMP_VerdeelTeksten.xls
    40,5 KB · Weergaven: 80
Leo,

Dat lijkt perfect te werken. :thumb: :thumb: :thumb: :thumb: :thumb:
Hartelijk bedankt !!!

Uiteraard ook aan alle anderen die mijn probleem bekenen hebben nen dikke merci

Nu nog even uitvissen hoe ik deze vraag afsluit en ik kan weer verder.

Groeten,

Tim
 
Leo, of wie me ook kan helpen...

Je geeft een vinger en ze willen een arm...
Kan ik hetzelfde toepassen per 2 (of meer) cellen?
Omdat ik het nogal moeilijk kan omschrijven heb ik er meteen een voorbeeldje bij gedaan.
Op het eerste blad de gegevens (kolom B en C) waarbij ik manueel het aantal (kolom A) ingeef.
Op het 2de blad het resultaat dat ik wil bekomen.
Ongeveer hetzelfde dus als voorgaande oplossing, enkel nu per 2 (of meer) cellen.

P.S. Indien makkelijker kan ik de gegevens ook onder elkaar zetten in plaats van naast elkaar.

Alvast bedankt om dit te bekijken.

Tim
 

Bijlagen

  • Map1.xls
    13,5 KB · Weergaven: 59
Allen,

Voor zij die de macro van Leo begrijpen heb ik eventueel een tip.
Ik zou het zelf testen, maar ik snap eigenlijk niets van die macro...

Als ik nu de macro zou kunnen kopieren en ik laat die eerst lopen op de even rijen met het eerste deel van de gegevens, en vervolgens vul ik de oneven rijen aan met het 2de deel, dan is dat ook perfect voor mij.

Kan iemand daarbij misschien helpen?

Groeten,

Tim
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan