Office-Fragen.de

Normale Version: Vba Tabelle sortieren wks.activate
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Gemeinde, mit folgendem Code wird das Tabellenblatt nach Datum sortiert. Der Code läuft aber nur wenn das Tabellenblatt aktiviert ist. Gibt es dafür eine geschicktere Lösung?

Code:
Sub DatumSortieren(strKonto As String)
    Dim intZ As Integer
    Dim rngBereich As Range
   
    Application.ScreenUpdating = False
    Worksheets(strKonto).Activate
    intZ = letzteZeile(strKonto) - 1
    Set rngBereich = Worksheets(strKonto).Range("A2:E" & intZ)
    rngBereich.Sort key1:=Range("A2"), Order1:=xlAscending, Header:=xlNo
    Worksheets(1).Activate
    Application.ScreenUpdating = True
   
End Sub

... und einen schönen Sonntag noch :-)
Hallo,

ungetestet ...

Code:
Sub DatumSortieren(strKonto As String)

    Dim lngZ      As Long
    Dim rngBereich As Range
 
    Application.ScreenUpdating = False
   
    lngZ = letzteZeile(strKonto) - 1
   
    Set rngBereich = ThisWorkbook.Worksheets(strKonto).Range("A2:E" & lngZ)
   
    rngBereich.Sort Key1:=ThisWorkbook.Worksheets(strKonto).Range("A2"), _
    Order1:=xlAscending, Header:=xlNo
   
    Application.ScreenUpdating = True
 
End Sub

Gruß
Danke, jetzt funzt es. Unvollständige Referenzierung war das Problem?  Idea


Stefan
Moin!
Ja, es war die fehlende Referenzierung zu Range("A2").
Folgendes dürfte aber auch reichen, Du brauchst keine Variablen:

Sub Kuerzer(strKonto As String)
With ThisWorkbook.Worksheets(strKonto)
  .Cells(1).CurrentRegion.Sort .Range("A2"), xlAscending, Header:=xlYes
End With
End Sub

Gruß Ralf
Danke, läuft auch.... da muss ich mich noch bisschen mit Cells(1) und CurrentRegion beschäftigen :-)

Danke
Stefan
.Cells(1) ist gleich .Cells(1, 1) also Range("A1")
.CurrentRegion ist der zusammenhängende Zellbereich "drumherum", was in der Regel dem zu sortierenden Zellbereich entspricht.
Eine leere Spalte und/oder Zeile würde ihn unterbrechen.

Dies dürfte Dich interessieren:
https://www.online-excel.de/excel/singsel.php?f=52
Danke für den Link....
Stefan