Waarde opzoeken en cel met offset kopieren

Status
Niet open voor verdere reacties.

debastaard

Gebruiker
Lid geworden
27 nov 2006
Berichten
29
Dag allemaal,

Misschies is de titel niet helemaal maar ik wil het volgende.
Er moeten van tabblad 1 waarden gekopieerd worden naar tabblad 2.
Deze komen in tabblad 2 gewoon onder elkaar terecht.

Nu is er op tabblad 1 ook een kolom waarin je op regelniveau een getal in kunt vullen dat het aantal kopieeen voorstelt. Vul je dus 3 in dat wordt de waarde uit tabblad 1 3 maal gekopieerd (in de opeenvolgende rij) naar tabblad 2. Ik heb nu een hele ochtend en middag zitten knutselen en kom er maar niet uit.

Dit is wat ik tot nu toe heb gemaakt. Met wat kleine aanpassingen moet dit vast werken.

Code:
Dim l As Long
Dim i As Long
Dim invoegrange As Range
Dim n As String
Dim o As Integer

For i = 1 To Blad10.UsedRange.Rows.Count

o = Blad10.Cells(i + 7, 16).Value 'hoeveel keer kopieren uit kolom P
           
           For l = 7 To 7 + o 'vanaf rij 7 tot aan keer kopieren
             n = Blad10.Cells(o, 1).Value
             Set invoegrange = Blad20.Range("G65536").End(xlUp)(2, 1)
             invoegrange.Value = n
           Next l
Next i
End Sub

Alvast bedankt voor jullie hulp.
 
Is er niemand die hier een idee over heeft? Misschien kunnen jullie me een klein eindje op weg helpen d.m.v. een ander voorbeeld.:thumb:
 
Code:
Sub w()

    Dim i As Long
    Dim n As String
    Dim o As Integer

    For i = 1 To Blad10.UsedRange.Rows.Count

        o = Blad10.Cells(i + 7, 16).Value
        n = Blad10.Cells(o, 1).Value 'hier zit nog fout volgens mij, ik begrijp niet wat je wil overzetten
        Blad20.Range("G" & Rows.Count).End(xlUp).Offset(1).Resize(o) = n
    Next i
End Sub

Wigi
 
Hoi Wigi,

Bedankt voor je hulp. Er zit daar inderdaad nog een fout. Ik probeer uit te leggen wat ik wil overzetten.

o = aantallen die ingevoerd worden vanaf rij 8 in kolom P (blad10)

n = de waarde (tekst) die gekopieerd dienen te worden onder elkaar in een ander tabblad. Het aantal keer kopieren is dus het getal dat bij o ingevoerd wordt. (blad10)

De gegevens dienen in kolom G (blad20) te worden ingevoerd.

Het zal van mijn kant wel een domme fout zijn, maar ik zie het even niet.
Alvast bedankt voor de eventuele oplossingen.
 
Je moet het zo zien:

n is kolom A op het invulblad, o is kolom P op het invulblad.

n staat dus op hetzelfde blad als o
 
Zo dan?

Code:
Sub w()

    Dim i As Long
    Dim n As String
    Dim o As Integer

    For i = 1 To Blad10.UsedRange.Rows.Count

        o = Blad10.Cells(i + 7, 16).Value
        n = Blad10.Cells(i + 7, 1).Value
        Blad20.Range("G" & Rows.Count).End(xlUp).Offset(1).Resize(o) = n
    Next i
End Sub

Wigi
 
Beste allemaal,

Dit is het geworden:
Code:
Sub w()

    Dim i As Long
    Dim n As String
    Dim o As Integer

    For i = 1 To Blad10.UsedRange.Rows.Count
    

        o = Blad10.Cells(i + 7, 16).Value
        n = Blad10.Cells(i + 7, 1).Value
       
        If Blad10.Cells(i + 7, 16) > 0 Then Blad20.Range("G65536").End(xlUp)(2, 1).Resize(o) = n
    Next i
End Sub

Bedankt Wigi!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan