… ListObjects1 bin ich nun ein ganzes Stück weiter gekommen. das Modul sieht nun so aus:
Sub Output
Dim TABELL As String, BU As String, SK As String, LIST As String, KS As String
Dim SP As Integer
Dim WERT As Double
Dim WK1 As Worksheet
Dim ZAE As Long, LETZTE As Long, ZANZ As Long, i As Long
TABELL = InputBoxEingabe Output-Tabelle ’ Ausgabedatei eingaben
’ Ausgabedatei eingaben
BU = InputBoxEingabe Report-BU ’ Report BU
Set WK1 = WorksheetsTABELL
WK1.Select
Selection.AutoFilter
WK1.Cells2, 1.Activate
Application.ScreenUpdating = False
KS = N1 'KSt Spalte
ZAE = 2
Select Case BU
Case Is = 4-132
SP = 2
Case Is = 4-134
SP = 3
Case Is = 4-138
SP = 4
Case Is = 4-139
SP = 5
Case Is = 5-053
SP = 6
Case Is = 5-054
SP = 7
Case Is = 5-055
SP = 8
End Select
Select Case SP
Case Is = 2
SK = B1
Case Is = 3
SK = C1
Case Is = 4
SK = D1
Case Is = 5
SK = E1
Case Is = 6
SK = F1
Case Is = 7
SK = G1
Case Is = 8
SK = H1
End Select
WorksheetsTABELL.ListObjectsTABELL.Sort.SortFields. _
Add _
xlAscending,
With ActiveWorkbook.WorksheetsTABELL.ListObjects1.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'****
ZAE = 2
Debug.Print ZANZ
Do Until WK1.CellsZAE, SP =
ZAE = ZAE + 1
Loop
ZANZ = ZAE
Do Until IsEmptyWK1.CellsZANZ, 1
ZANZ = ZANZ + 1
Loop
WK1.CellsZAE, 1.Activate
For i = ZAE To ZANZ
ActiveCell.EntireRow.Delete
Next i
ZANZ = ZAE - 1
ZAE = 2
WK1.CellsZAE, 1.Select
For ZAE = 2 To ZANZ
WERT = FormatWK1.CellsZAE, SP.Value, ##,##0
WK1.CellsZAE, SP.Value = WERT
WK1.CellsZAE, SP.Font.Bold = True
WK1.CellsZAE, SP.Font.Size = 12
WEITER:
Next ZAE
WK1.CellsZAE, 1.Activate
WorksheetsTABELL.Columns.NumberFormat = #,##0
WorksheetsTABELL.ListObjectsTABELL.Sort.SortFields. _
Add _
xlAscending,
With ActiveWorkbook.WorksheetsTABELL.ListObjects1.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Application.ScreenUpdating = True
End Sub
Der erste Sort funktioniert nun einwandfrei, leider der zweite nichtwobei ich den ersten nur im Key abgewandelt habe.
Schwierigkeiten habe ich auch im Löschen der überflüssigen Zeilen. Die Funktionaliät passt aber das kann man sicher eleganter und schneller lösendauert teilweise 2 Min. Stelle mir das mit Markierung des Blocks Cells ZAE bis ZANZBeginn bis Ende der überflüssigen Zeilen und diesen Block löschen. Leider schaffe ich es nicht, diesen Block zu bilden. Fehlermessage: Typen unverträglich
2. Problem ist wie gesagt der 2. Sort, hier kommt keine Fehlermeldung, aber er sortiert nicht. Dieser Sort soll die abschließende Ordnung herstellen.
Hast Du eine Idee, wie das zu lösen ist ? Bin für jeden Hinweis dankbar.
Schönes Wochenende
Karlheinz