Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1636to1640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Typen unverträglich beim Sortieren

Typen unverträglich beim Sortieren
16.08.2018 14:48:59
Georg
Liebe Mitglieder, in der Zeile
strBereich bleibt der Debugger hängen mit der Meldung Typen unvertäglich.
Was mache ich falsch? Danke für einen Tipp.
Gruß Georg
Sub ÜbersichtSort()
Dim lngZeile, lngSpalte As Long
Dim strSpalte As String
Dim strBereich As String
'Letzte gefüllte Zeile in Spalte V
lngZeile = ThisWorkbook.Sheets(2).Cells(Rows.Count, 22).End(xlUp).Row
strBereich = ThisWorkbook.Sheets(2).Range("B8:X" & lngZeile)
strSpalte = "D" 'Startzeitpunkt
'Sortieren
With Tabelle2
Range(strBereich).Sort _
Key1:=Range(strSpalte & "8"), Order1:=xlAscending, _
Header:=xlNo
End With
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Typen unverträglich beim Sortieren
16.08.2018 14:53:14
Daniel
HI
so wie du das programmiert hast, muss in strBereich die Adresse des Bereichs geschrieben werden.
strBereich = ThisWorkbook.Sheets(2).Range("B8:X" & lngZeile).Address
gruß Daniel
AW: Typen unverträglich beim Sortieren
16.08.2018 15:05:17
Daniel
dh das brauchst du dann auch gar nicht so aufwendig schreiben:
strBereich = "B8:X" & lngZeile
allerdings musst du dann bei Range(strBereich) immer das Tabellenblatt angeben.
in deiner With-Klammer fehlen an den entscheidenden Stellen, die Punkte, damit das WITH-Objekt auch eingesetzt wird:
'Sortieren
With Tabelle2
.Range(strBereich).Sort _
Key1:=.Range(strSpalte & "8"), Order1:=xlAscending, _
Header:=xlNo
End With
wobei ich es für sinnvoller halten würde, aus dem strBereich ein rngBereich und damit eine Range-Objekt-Variable zu machen:
Sub ÜbersichtSort()
Dim lngZeile, lngSpalte As Long
Dim strSpalte As String
Dim rngBereich As range
'Letzte gefüllte Zeile in Spalte V
lngZeile = ThisWorkbook.Sheets(2).Cells(Rows.Count, 22).End(xlUp).Row
Set strBereich = ThisWorkbook.Sheets(2).Range("B8:X" & lngZeile)
'Sortieren
rngBereich.Sort Key1:=rngBereich.Cells(1, 3)Order1:=xlAscending, Header:=xlNo
End Sub
Wenn der Bereich in Spalte B(2) beginnt, dann ist Spalte D(4) die dritte Spalte dieses Bereichs.
Gruß Daniel
Anzeige
AW: Typen unverträglich beim Sortieren
16.08.2018 15:02:18
Nepumuk
Hallo Georg,
teste mal:
Sub ÜbersichtSort()
    
    Dim lngZeile As Long, lngSpalte As Long
    Dim strSpalte As String
    Dim objBereich As Range
    
    
    'Letzte gefüllte Zeile in Spalte V
    lngZeile = ThisWorkbook.Sheets(2).Cells(Rows.Count, 22).End(xlUp).Row
    
    Set objBereich = ThisWorkbook.Sheets(2).Range("B8:X" & lngZeile)
    strSpalte = "D" 'Startzeitpunkt
    
    'Sortieren
    With Tabelle2
        objBereich.Sort _
            Key1:=.Range(strSpalte & "8"), _
            Order1:=xlAscending, Header:=xlNo
    End With
End Sub

Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige