Daten sortieren/filtern - Objektvariable??

Bild

Betrifft: Daten sortieren/filtern - Objektvariable??
von: Fabian
Geschrieben am: 18.11.2015 09:37:05

Hallo liebes Forum,
ich bin hier fast am verzweifeln. Ich habe eine Liste (drei Spalten, zwei Mal Text, einmal Zeit) und möchte diese gern absteigend nach der Zeit sortieren. Das geht per Hand super und eigentlich auch problemlos per VBA. Doch irgendwie muckt mein Programm beim zweiten Schleifendurchlauf plötzlich rum. "Objektvariable oder With-Block-Variable nicht festgelegt". Ich habe schon mal beim ersten Schleifendurchlauf dieses Problem gehabt. Gelöst habe ich es durch rumklicken im Debugger, auskommentieren, Auskommentierung wieder aufheben etc. und am Ende ging's obwohl ich den Quellcode gar nicht verändert hatte. Nun klappt es wieder nicht, lässt allerdings auch gar nicht lösen. Hab schon aus dem Makro-Recorder den Code geklaut, doch nach dem Einfügen ins Programm funktioniert der Code plötzlich nicht mehr. Hier der Code in Kurzfassung:


Sub Auswertung()
Dim String_1 As String
Worksheets(1).Select
Range(String_1).Select
Selection.AutoFilter
Workbooks("Auswertung.xlsm").Sheets(1).AutoFilter.Sort.SortFields.Clear
Workbooks("Auswertung.xlsm").Sheets(1).AutoFilter.Sort.SortFields.Add Key:= _
    Range(Right(String_1, 2)), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
    xlSortNormal
    With Workbooks("Auswertung.xlsm").Sheets(1).AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Die Schleife hab ich mal weggelassen. In String_1 steht immer etwas wie "F3:H3". Meckern tut er in der Zeile nach Selection.AutoFilter, wenn ich das Auskommentiere, dann in der Zeile danach mit der gleichen Fehlermeldung.
Der Code funktioniert in jeder anderen Datei, aber nicht in meiner xD
Vielleicht hat ja jemand von euch irgendeine Idee...
Viele liebe Grüße
Fabian

Bild

Betrifft: AW: Daten sortieren/filtern - Objektvariable??
von: Tino
Geschrieben am: 18.11.2015 09:58:26
Hallo,
teste mal vielleicht geht es so?!

With Workbooks("Auswertung.xlsm").Sheets(1)
    With .AutoFilter.Range
        .Sort Key1:=.Cells(1, 1), Order1:=xlDescending, Header:=xlYes
    End With
End With
Gruß Tino

Bild

Betrifft: AW: Daten sortieren/filtern - Objektvariable??
von: Fabian
Geschrieben am: 18.11.2015 12:14:11
Hallo Tino,
leider bekomme ich die gleiche Fehlermeldung, in der Zeile


With .AutoFilter.Range(String_1)
Vorausgesetzt, ich habe das jetzt richtig eingefügt mit der Range...
Liebe Grüße
Fabian

Bild

Betrifft: AW: Daten sortieren/filtern - Objektvariable??
von: Tino
Geschrieben am: 18.11.2015 12:48:43
Hallo,
nein!
Zeige den kompletten Code u. was steht im Sting?
Gruß Tino

Bild

Betrifft: AW: Daten sortieren/filtern - Objektvariable??
von: Fabian
Geschrieben am: 18.11.2015 13:51:10
Hallo Tino,
den Code hab ich unverändert gelassen, also:


Sub Auswertung()
Dim String_1 As String
String_1 = "F3:H3" 'Beispielhaft
With Workbooks("Auswertung.xlsm").Sheets(1)
    With .AutoFilter.Range(String_1)
        .Sort Key1:=.Range(Right(String_1, 2)), Order1:=xlDescending, Header:=xlYes
    End With
End With
End Sub

String_1 war in dem Fall wo es nicht funktioniert hat = "F3:H3"
Natürlich steht in meinem gesamten Code noch viel mehr, aber das dürfte alles nichts mit diesem Teil zu tun haben.
Viele Grüße
Fabian

Bild

Betrifft: AW: Daten sortieren/filtern - Objektvariable??
von: Tino
Geschrieben am: 18.11.2015 15:36:17
Hallo,
hast Du es schon so versucht?
F3 muss sich in der Überschrift befinden!

Sub Auswertung()
Dim String_1 As String
String_1 = "F3:H3" 'Beispielhaft
With Workbooks("Auswertung.xlsm").Sheets(1)
    With .AutoFilter.Range
        .Sort Key1:=.Range(Right(String_1, 2)), Order1:=xlDescending, Header:=xlYes
    End With
End With
End Sub
Gruß Tino

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Attachments.Add findet Datei nicht"