Beste mede-exellers,
Ik hoop dat jullie er iets mee kunnen. Helaas heb ik een vrij omslachtige code om een rij uit een beveiligd werkblad te knippen en in een ander werkblad te plakken.
Wat ik dus doe in deze code: Ik laat de macro in Kolom AN vanaf rij 4 en verder naar beneden zoeken naar het woord "Afgehandeld", vervolgens wordt de hele rij geselecteerd en naar het blad archief gekopieerd. Daarna gaat hij terug naar het 'Sheet 1' om de nieuwe rij met "Afgehandeld" te zoeken en het hele proces opnieuw te laten verlopen.
Helaas gebeurd dit maar 2 keer. Ook al heb ik 5 rijen op "afgehandeld" staan, dan nog kopieerd de macro er maar maximaal 2 !?
Wat gaat er fout? ( de code mag eenvoudiger ;-) )
Ik hoop dat jullie er iets mee kunnen.
Met vriendelijke groet,
McMacro
Ik hoop dat jullie er iets mee kunnen. Helaas heb ik een vrij omslachtige code om een rij uit een beveiligd werkblad te knippen en in een ander werkblad te plakken.
Wat ik dus doe in deze code: Ik laat de macro in Kolom AN vanaf rij 4 en verder naar beneden zoeken naar het woord "Afgehandeld", vervolgens wordt de hele rij geselecteerd en naar het blad archief gekopieerd. Daarna gaat hij terug naar het 'Sheet 1' om de nieuwe rij met "Afgehandeld" te zoeken en het hele proces opnieuw te laten verlopen.
Helaas gebeurd dit maar 2 keer. Ook al heb ik 5 rijen op "afgehandeld" staan, dan nog kopieerd de macro er maar maximaal 2 !?
Wat gaat er fout? ( de code mag eenvoudiger ;-) )
Code:
Public Sub Archiveren()
'Run "ShowTheCellsA"
'Run "ShowTheCellsH"
Application.ScreenUpdating = False
Sheets("Sheet1").Unprotect password:="xxxx1"
Sheets("Archief").Unprotect password:="xxxx2"
With Worksheets("Sheet1").Range("AN4:AN500")
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
ActiveSheet.Outline.ShowLevels columnlevels:=2
End If
Do
Set A = .Find("Afgehandeld", LookIn:=xlValues, SearchDirection:=xlNext)
If Not A Is Nothing Then
B = A.Row
Rows(B).Copy
Worksheets("Archief").Select
Sheets("Archief").Unprotect password:="xxxx2"
ActiveSheet.Outline.ShowLevels columnlevels:=2
With Worksheets("Archief").Range("AN4:AN1000")
Set z = .Find("", LookIn:=xlValues)
If Not z Is Nothing Then
z = z.Row
With Worksheets("Archief").Range("A" & CStr(z))
.PasteSpecial xlPasteValues
.PasteSpecial SkipBlanks:=False
.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
'On Error GoTo 0
End With
End If
End With
Worksheets("Sheet1").Select
Sheets("Sheet1").Unprotect password:="xxxx2"
ActiveSheet.Outline.ShowLevels columnlevels:=1
Rows(B).Select
Selection.Delete
End If
Loop Until A Is Nothing
End With
With Worksheets("Sheet1").Select
Sheets("Sheet1").Unprotect password:="xxxx1"
ActiveSheet.Outline.ShowLevels columnlevels:=1
End With
With Worksheets("Archief")
Sheets("Archief").Unprotect password:="xxxx2"
.Select
.Outline.ShowLevels columnlevels:=1
.Range("A4:AN500").Locked = True
Application.ScreenUpdating = True
End With
' Run "HideTheCellsA"
' Run "HideTheCellsH"
End Sub
Ik hoop dat jullie er iets mee kunnen.
Met vriendelijke groet,
McMacro