(Anfänger)Fehler im Code
Jenny
ich bin mit VBA leider noch ganz am Anfang und habe heute mal etwas probiert, was leider noch nicht ganz so klappt wie gewünscht: ;-)
Eigentlich soll der Code nur folgendes machen:
1) Sortiere Einträge auf Blatt1 (Zeilen 2 bis 1000) aufsteigend nach Spalte A und anschließend nach Spalte B.
2) Formatiere Spalten A bis H mit Ausrichtung Zeilenumbruch.
3) Springe automatisch in die nächste freie Zelle in Spalte A (es gibt dort nur leere Zellen am Ende, d.h. die erste leere ist automatisch immer die richtige).
Kann mir jemand von Euch sagen, was ich hier falsch gemacht habe und wie man das evtl. professioneller schreiben bzw. korrigieren kann ? :-)
Sub Data_Cleanup()
' Data_Cleanup Macro
' Keyboard Shortcut: Ctrl+d
Dim rg1 As Range, rg2 As Range
Rows("2:1000").Select
Range("A1000").Activate
ActiveWorkbook.Worksheets("Database").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Database").Sort.SortFields.Add Key:=Range( _
"A2:A1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("Database").Sort.SortFields.Add Key:=Range( _
"B2:B1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Database").Sort
.SetRange Range("A2:I1000")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("A:H").Select
Range("H1").Activate
With Selection
.WrapText = True
End With
On Error GoTo E_n_d_e
Set rg1 = ActiveSheet.Range("A:A").SpecialCells(xlCellTypeBlanks)
If Not rg1 Is Nothing Then
For Each rg2 In rg1
rg2.Offset(0, -2).Select
Exit For
Next rg2
End If
E_n_d_e:
Set rg1 = Nothing
Set rg2 = Nothing
End Sub
LG und vielen Dank im Voraus, Jenny