Code schneller machen?
22.01.2017 10:50:37
Henno
ich habe folgenden Code per Recorder aufgezeichnet, der auch funktioniert-zumindest wenn die parameter stimmen.
Allerdings dauert es sehr lange.
Der Code wird über einen CommandButton ausgeführt.
Kann mir einer den Code umschreiben, dass er schneller ausgeführt wird?
Private Sub Sortieren_Click()
ActiveSheet.Unprotect Password:="passwort"
Dim zeile As Integer ' blendet die Zeilen aus
zeile = 1
For zeile = 17 To 120
If Range("d" & zeile).Value = "" Then
Rows(zeile).Hidden = True
Else
End If
Next zeile
Rows("17:120").Select ' dieser Bereich soll sortiert werden nach Werten in Spalte G Werte 1- _
5, funktioniert nur, wenn Anzahl 1 konstant,
Anzahl 2 konstant, usw., kann aber in der Tabelle variabel sein
ActiveWorkbook.Worksheets("Jahresübersicht").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Jahresübersicht").Sort.SortFields.Add Key:=Range( _
"G17:G120"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Jahresübersicht").Sort
.SetRange Range("A17:UQ120")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Rows("17:122").Select ' ausgeblendete Zeilen wieder einblenden
Selection.EntireRow.Hidden = False
Range("C12").Select
ActiveSheet.Protect Password:="Passwort", DrawingObjects:=False, Contents:=True, Scenarios:= _
_
_
_
_
_
True, AllowFormattingCells:=True, AllowUsingPivotTables:=True
Range("C12").Select
End Sub
Falls jemand Bock darauf hat, vielen Dank im voraus,
Gruß Henno