Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
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.
De aangepaste code van Roncancio, heeft mij al een heel eind op weg geholpen maar heb nog 2 probleemjes;
1. Ik heb het bereik uitgebreid naar B4 : D11 om ook de artikels meet op het detailblad te zien. wanneer ik nu de macrocopy uitvoer, word dit zelfde bereik gekopieerd.
Is het niet mogelijk een stukje code toe te voegen zodanig dat enkel die rijen gekopieerd worden waar iets ingevuld staat in C4 : D11.
BV als iemand een jas maat 50 en 58 neemt enkel deze 2 rijen gekopieerd worden?
2. Op het detailblad worden de gegevens telkens overschreven, hoe plak ik die op een nieuwe rij?
' De macro is opgemaakt op 20/10/2008 door Een ander.
Sub MacroLeegBlad()
Dim rBereik As Range
Application.ScreenUpdating = False
For Each rBereik In Sheets("Blauwe jas").Range("D4:D11")
rBereik.Value = rBereik.Value - rBereik.Offset(0, -2).Value
Next
Sheets("Blauwe jas").Range("C4:C11").ClearContents
Application.ScreenUpdating = True
End Sub
Sub MacroCopy()
Dim rBereik As Range
Dim lRij As Long
lRij = Worksheets("Detail").Range("C65536").End(xlUp).Row + 1
Application.ScreenUpdating = False
For Each rBereik In Worksheets("Blauwe jas").Range("B4:B11")
If rBereik.Value <> "" Then
Worksheets("Blauwe jas").Range("B" & rBereik.Row & " :D" & rBereik.Row).Copy
Worksheets("detail").Range("B" & lRij & " :D" & lRij).PasteSpecial Paste:=xlPasteValues
lRij = lRij + 1
End If
Next
Sheets("Detail").Columns("A:A").EntireColumn.AutoFit
Sheets("Detail").Columns("A:A").ColumnWidth = 21.57
Application.CutCopyMode = False
MacroLeegBlad
Application.ScreenUpdating = True
End Sub
Sub MacroLeegBlad()
Dim rBereik As Range
Application.ScreenUpdating = False
For Each rBereik In Sheets("Blauwe jas").Range("D4:D11")
[COLOR="Red"]rBereik.Value = rBereik.Value - rBereik.Offset(0, -2).Value[/COLOR]
Next
Sheets("Blauwe jas").Range("C4:C11").ClearContents
Application.ScreenUpdating = True
End Sub
Sub MacroLeegBlad()
Dim rBereik As Range
Application.ScreenUpdating = False
For Each rBereik In Sheets("Blauwe jas").Range("[COLOR="Red"]F4:F11[/COLOR]")
rBereik.Value = rBereik.Value - rBereik.Offset(0, -2).Value
Next
Sheets("Blauwe jas").Range("[COLOR="Red"]C4:D11[/COLOR]").ClearContents
Application.ScreenUpdating = True
lRij = Worksheets("Detail").Range("C65536").End(xlUp).Row + [COLOR="red"]2[/COLOR]
Sub MacroCopy()
Dim rBereik As Range
Dim lRij As Long
lRij = Worksheets("Detail").Range("C65536").End(xlUp).[COLOR="red"]Row + 2[/COLOR]
Application.ScreenUpdating = False
For Each rBereik In Worksheets("Blauwe jas").Range("[COLOR="Red"]D4:D11[/COLOR]")
If rBereik.Value <> "" Then
Worksheets("Blauwe jas").Range("B" & rBereik.Row & " :D" & rBereik.Row).Copy
Worksheets("detail").Range("B" & lRij & " :D" & lRij).PasteSpecial Paste:=xlPasteValues
lRij = lRij + 1
End If
Next
Sheets("Detail").Columns("A:A").EntireColumn.AutoFit
Sheets("Detail").Columns("A:A").ColumnWidth = 21.57
Application.CutCopyMode = False
MacroLeegBlad
Application.ScreenUpdating = True
End Sub
Ik denk dat je het zelf wel kunt aanpassen voor de andere TabBladen
worksheets("blauwe jas")
ActiveSheet
Ik neem aan dat als de macro gestart wordt, dat het geldt voor het actieve werkblad en om de gegevens in detail te zetten.
Dus zou je ipv
gebruik kunnen maken vanCode:worksheets("blauwe jas")
Ik heb de macro niet getest (geen tijd) maar ik ga er vanuit dat het in orde is.Code:ActiveSheet
Ik had deze ook veranderd, daar zat het in, mijn fout.
Het werkt nu dus wel.Code:Worksheets("detail")
Sub MacroCopy()
Dim rBereik As Range
Dim lRij As Long
lRij = Worksheets("Detail").Range("C65536").End(xlUp).Row + 2
Application.ScreenUpdating = False
For Each rBereik In [B][COLOR="Blue"]ActiveSheet[/COLOR][/B].Range("D4:D11")
If rBereik.Value <> "" Then
[B][COLOR="blue"]ActiveSheet[/COLOR][/B].Range("B" & rBereik.Row & " :D" & rBereik.Row).Copy
Worksheets("detail").Range("B" & lRij & " :D" & lRij).PasteSpecial Paste:=xlPasteValues
lRij = lRij + 1
End If
Next
Sheets("Detail").Columns("A:A").EntireColumn.AutoFit
Sheets("Detail").Columns("A:A").ColumnWidth = 21.57
Application.CutCopyMode = False
MacroLeegBlad
Application.ScreenUpdating = True
End Sub
Bart Smith,
Graag gedaan.
We moeten natuurlijk niet vergeten dat Roncancio een erg belangrijk deel (de Macro) heeft gemaakt.
Hij schut ze volgens mij zo uit de mouw, zonder hem was het mischien niet gelukt.
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.