Egbert12345
Gebruiker
- Lid geworden
- 13 dec 2010
- Berichten
- 521
Beste forummers, in VBA heb ik een opdracht opgenomen die een bepaalde reeks sorteert. Zie onderstaand voorbeeld. De eerste serie werkt, maar ik wil die verkorten.
Zie vanaf 'verkort. Ik ben al begonnen met (Sheets("grootboekrekeningen").Range("B1
" & eindebereik & "").Sort.SortFields.Clear), maar daar loopt de macro al vast. Weten jullie wat ik verkeerd doe (de rest heb ik nog niet aangepast). Mochten jullie een testvoorbeeld willen zien, dan hoor ik dat graag.
groet Egbert
Sub TEST_sorteren()
eindebereik = 57
Sheets("grootboekrekeningen").Select
Range("B1
" & eindebereik & "").Select
ActiveWorkbook.Worksheets("grootboekrekeningen").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("grootboekrekeningen").Sort.SortFields.Add2 Key:=Range("B2:B" & eindebereik & ""), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("grootboekrekeningen").Sort
.SetRange Range("B1
" & eindebereik & ""): .Header = xlYes: .MatchCase = False: .Orientation = xlTopToBottom: .SortMethod = xlPinYin: .Apply: End With:
Range("A2").Select
' verkort
Sheets("grootboekrekeningen").Range("B1
" & eindebereik & "").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("grootboekrekeningen").Sort.SortFields.Add2 Key:=Range("B2:B" & eindebereik & ""), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("grootboekrekeningen").Sort
.SetRange Range("B1
" & eindebereik & ""): .Header = xlYes: .MatchCase = False: .Orientation = xlTopToBottom: .SortMethod = xlPinYin: .Apply: End With:
Range("A2").Select
End Sub
Zie vanaf 'verkort. Ik ben al begonnen met (Sheets("grootboekrekeningen").Range("B1

groet Egbert
Sub TEST_sorteren()
eindebereik = 57
Sheets("grootboekrekeningen").Select
Range("B1

ActiveWorkbook.Worksheets("grootboekrekeningen").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("grootboekrekeningen").Sort.SortFields.Add2 Key:=Range("B2:B" & eindebereik & ""), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("grootboekrekeningen").Sort
.SetRange Range("B1

Range("A2").Select
' verkort
Sheets("grootboekrekeningen").Range("B1

ActiveWorkbook.Worksheets("grootboekrekeningen").Sort.SortFields.Add2 Key:=Range("B2:B" & eindebereik & ""), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("grootboekrekeningen").Sort
.SetRange Range("B1

Range("A2").Select
End Sub