Ik ben bezig om een macro te schrijven waarin een uitgebreide lijst wordt gegenereerd aan de hand van een basis-lijst. Hierbij loop ik tegen het volgende probleem aan:
Het gaat hier om kledingstukken. In de eenvoudige lijst staat 1 kledingstuk per regel. In de uitgebreide lijst moet er een veelvoud aan regels worden aangemaakt aan de hand van het aantal maten van dit kledingstuk. Dus 5 maten betekend 5 regels met hetzelfde kledingstuk. Dit krijg ik nu voor elkaar in VBA
Nu wil ik, in de uitgebreide lijst, per regel de maat toevoegen. Stel dat we hetzelfde voorbeeld aanhouden, dan zijn er dus 5 maten. De macro kopieert deze 5 maten uit de maattabel en plakt deze in de uitgebreide tabel. Omdat ik een for each commando gebruik, gaat de macro nu naar de volgende cel in de betreffende kolom. Dit klopt echter niet, de macro zou naar de huidige cel + 5 (aantal maten) moeten gaan. Hoe krijg ik dat voor elkaar?
De code zoals ik het nu gebruik:
Het gaat hier om kledingstukken. In de eenvoudige lijst staat 1 kledingstuk per regel. In de uitgebreide lijst moet er een veelvoud aan regels worden aangemaakt aan de hand van het aantal maten van dit kledingstuk. Dus 5 maten betekend 5 regels met hetzelfde kledingstuk. Dit krijg ik nu voor elkaar in VBA
Nu wil ik, in de uitgebreide lijst, per regel de maat toevoegen. Stel dat we hetzelfde voorbeeld aanhouden, dan zijn er dus 5 maten. De macro kopieert deze 5 maten uit de maattabel en plakt deze in de uitgebreide tabel. Omdat ik een for each commando gebruik, gaat de macro nu naar de volgende cel in de betreffende kolom. Dit klopt echter niet, de macro zou naar de huidige cel + 5 (aantal maten) moeten gaan. Hoe krijg ik dat voor elkaar?
De code zoals ik het nu gebruik:
Code:
Sub Maatvoering()
Dim cl As Range
ActiveWorkbook.Sheets("Tussenbestand").Activate
Application.ScreenUpdating = False
For Each cl In Range("H2:H65536")
If cl.Value <> "" Then
If cl.Value = "Mens" Then
ActiveWorkbook.Sheets("Maattabellen").Activate
Worksheets("Maattabellen").Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row).Copy
ActiveWorkbook.Sheets("Tussenbestand").Activate
cl.Offset(0, 2).Select
ActiveSheet.Paste
End If
End If
Next cl
End Sub