Ik heb een bestand waar ik regels controleer op aantallen en dan de gegevens overneem op Blad2.
Er moet per regel gekeken worden naar het aantal bakken kolom [E] Maximaal 15st.
Dan moet het bereik A van die regel overgenomen worden op Blad2. Dus staat er in Kolom [E] 3 dan moet die regel 3x onder elkaar gezet worden.
Dit moet herhaald worden voor 40 artikelen.
Omdat het iedere keer een ander aantal is laat ik deze ver uit elkaar op Blad2 verschijnen en haal ik via een code de lege cel regels weg.
Nu heb ik dat voor elkaar gekregen met 6 artikel regels, Alleen wordt het bestand dan al enorm traag en ik moet er nog 34.
Ik verwacht dat het beter en sneller kan. Alleen krijg ik niet de juiste code gevonden om dit voor elkaar te krijgen.
Kan iemand mij helpen?
Zie de code hieronder.
Er moet per regel gekeken worden naar het aantal bakken kolom [E] Maximaal 15st.
Dan moet het bereik A van die regel overgenomen worden op Blad2. Dus staat er in Kolom [E] 3 dan moet die regel 3x onder elkaar gezet worden.
Dit moet herhaald worden voor 40 artikelen.
Omdat het iedere keer een ander aantal is laat ik deze ver uit elkaar op Blad2 verschijnen en haal ik via een code de lege cel regels weg.
Nu heb ik dat voor elkaar gekregen met 6 artikel regels, Alleen wordt het bestand dan al enorm traag en ik moet er nog 34.
Ik verwacht dat het beter en sneller kan. Alleen krijg ik niet de juiste code gevonden om dit voor elkaar te krijgen.
Kan iemand mij helpen?
Zie de code hieronder.
Code:
Sub Artikel1Starten()
'
' Macro tbv aantal x kopieren van artikel 1
'
'
'
' Screenundating uitzetten
'
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
.DisplayAlerts = False
End With
'
' Cel E2 Leeg dan Exit sub
'
If IsEmpty(Range("E2").Value) Then
Exit Sub
End If
'
' Artikel 1 plakken 1x
'
If Sheets("Blad1").Range("E2").Value = 1 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D1").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 2x
'
If Sheets("Blad1").Range("E2").Value = 2 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D2").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 3x
'
If Sheets("Blad1").Range("E2").Value = 3 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D3").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 4x
'
If Sheets("Blad1").Range("E2").Value = 4 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D4").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 5x
'
If Sheets("Blad1").Range("E2").Value = 5 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D5").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 6x
'
If Sheets("Blad1").Range("E2").Value = 6 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D6").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 7x
'
If Sheets("Blad1").Range("E2").Value = 7 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D7").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 8x
'
If Sheets("Blad1").Range("E2").Value = 8 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D8").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 9x
'
If Sheets("Blad1").Range("E2").Value = 9 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D9").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 10x
'
If Sheets("Blad1").Range("E2").Value = 10 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D10").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 11x
'
If Sheets("Blad1").Range("E2").Value = 11 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D11").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 12x
'
If Sheets("Blad1").Range("E2").Value = 12 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D12").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 13x
'
If Sheets("Blad1").Range("E2").Value = 13 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D13").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 14x
'
If Sheets("Blad1").Range("E2").Value = 14 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D14").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
'
' Artikel 1 plakken 15x
'
If Sheets("Blad1").Range("E2").Value = 15 Then
Range("A2:D2").Select
Selection.Copy
Sheets("Blad2").Select
Range("A1:D15").Select
ActiveSheet.Paste
Sheets("Blad1").Select
Range("A1").Select
Application.CutCopyMode = False
End If
End Sub
Code:
Sub Legecellen()
'
' Legecellen Macro
'
'
Cells.Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub