Office-Fragen.de
Vba Tabelle sortieren wks.activate - Druckversion

+- Office-Fragen.de (https://office-fragen.de)
+-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html)
+--- Forum: Excel (https://office-fragen.de/forum-2.html)
+--- Thema: Vba Tabelle sortieren wks.activate (/thread-17308.html)



Vba Tabelle sortieren wks.activate - StefKe - 31.01.2021

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 :-)


RE: Vba Tabelle sortieren wks.activate - maninweb - 02.02.2021

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ß


RE: Vba Tabelle sortieren wks.activate - StefKe - 02.02.2021

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


Stefan


RE: Vba Tabelle sortieren wks.activate - RPP63 - 02.02.2021

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


RE: Vba Tabelle sortieren wks.activate - StefKe - 02.02.2021

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

Danke
Stefan


RE: Vba Tabelle sortieren wks.activate - RPP63 - 02.02.2021

.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


RE: Vba Tabelle sortieren wks.activate - StefKe - 02.02.2021

Danke für den Link....
Stefan