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

Rijen en data invoegen

Status
Niet open voor verdere reacties.

poelie01

Gebruiker
Lid geworden
31 jul 2012
Berichten
38
Hi,

In tabblad Locatie zou ik graag alle locaties uit tablblad Plant onder elkaar hebben staan per unieke combinatie Klant/Type (kolom A en C).

Voorbeeld van hoe het resultaat zou moeten zijn staat in kolom E t/m G

Kan iemand mij vertellen hoe ik dit zou moeten doen?

Groeten,

Stefan
 

Bijlagen

  • Help.xlsx
    53,4 KB · Weergaven: 32
probeer deze eens:

Code:
Sub sjonr()

For Each cl In Range("A2:A2954")

    X = Range("E" & Rows.Count).End(xlUp).Row + 1

    Cells(X, 5).Resize(54, 1) = cl
    Cells(X, 6).Resize(54, 1) = Sheets("Plant").Range("A2:A55").value
    Cells(X, 7).Resize(54, 1) = cl.Offset(, 2)
Next
End Sub
 
Laatst bewerkt:
Er kan wel wat meer snelheid in.
Code:
Sub hsv()
Dim sv, i As Long, ii As Long, n As Long
With Sheets("locatie")
sv = .Cells(1).CurrentRegion
sv2 = Sheets("Plant").Cells(1).CurrentRegion
ReDim arr(UBound(sv) *ubound(sv2), 2) As String
        For i = 2 To UBound(sv)
         For ii = 2 To UBound(sv2)
           arr(n, 0) = sv(i, 1)
           arr(n, 1) = sv2(ii, 1)
           arr(n, 2) = sv(i, 3)
           n = n + 1
          Next ii
        Next i
   .Cells(2, 10).Resize(UBound(arr), 3) = arr
  End With
End Sub
 
dan zal de tien een 5 moeten zijn :)
Code:
.Cells(2, [COLOR="#FF0000"]5[/COLOR]).Resize(UBound(arr), 3) = arr
 
In 10 kan je het mooi vergelijken met die 5 van jou. :p
 
@ Harry,

Ik probeer jouw code te doorgronden.

Code:
ReDim arr(UBound(sv) *ubound(sv2), 2) As String

Waarom moet je hier Redim gebruiken en waarom is het als string gedeclareerd?

je gebruikt om de gegevens in de tijdelijke array te plaatsten de variabele n. Deze stel je van te voren niet in. Heeft deze dan de default waarde 0?
 
Hallo Sjon,

'Redim' staat in de help van Vba.
Door 'As String' te declareren i.p.v. 'As Variant' komen de waarden terug als '07', 011' enz. i.p.v. 7 en 11.
De 'n' is een teller die gedeclareerd is als 'Long'; als ik het vooraf geen waarde meegeef is het altijd 0 (nul).

'arr' is een container waar je gegevens in plaatst.

Code:
Redim arr([COLOR=#0000ff]0[/COLOR] to ubound(sv)*Ubound(sv,2),[COLOR=#0000ff]0[/COLOR] to 2) as string

arr(n,0) → arr(0,0)
arr(n,1) → arr(0,1)
arr(n,2) → arr(0,2)
n = n + 1

volgende wordt...
arr(n,0) → arr(1,0)
arr(n,1) → arr(1,1)
arr(n,2) → arr(1,2)
 
Bedankt Harry,

Ik ga er verder mee studeren.

Gr.

Sjon
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan