Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: intelligente Tabelle via VBA sortieren

intelligente Tabelle via VBA sortieren
16.07.2019 21:30:25
Daniel
Hallo,
ich habe eine intelligente Tabelle, die ich gerne sortieren möchte, jedoch bekomme ich den Fehler: Methode Range fürdas objekt global fehlgeschlagen.
hier der code:
Set Tabelle = Worksheets("Übersetzungen").ListObjects("Tabelle1")
With Tabelle.Sort
.SortFields.clear
.SortFields.Add Key:=Range(Tabelle & "[[#All],[Motornr.]]"),
SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortTextAsNumbers
////////////hier taucht der Fehler auf//////////
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
wenn ich es manuell mit der funktion der Tabelle mache, funktioniert es.
Ich hoffe mir kann einer weiter helfen und im voraus, schonmal Danke
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: intelligente Tabelle via VBA sortieren
16.07.2019 21:36:08
onur
.Range
AW: intelligente Tabelle via VBA sortieren
16.07.2019 22:08:53
Daniel
Hallo,
Danke für die Antwort. Jedoch wenn ich es so mache, dann bekomme ich den Fehler:
438 Objekt unterstützt diese Eigenschaft oder Methode nicht
AW: Crossposting
17.07.2019 09:11:19
Daniel
Hallo, die Einträge sind beide von mir, jedoch ist mir noch nicht weitergeholfen. Da ich wie oben beschrieben die jeweiligen Fehler bekommen
AW: intelligente Tabelle via VBA sortieren
17.07.2019 09:37:17
Daniel
Hi
das dürfte an deinem Key liegen, weil du hier versuchst eine Range-Variable (Set Tabelle = ...) mit einem Text zu verknüpfen.
das ist quasi so, als würdest du versuchen, Visitenkarten zu erstellen, auf denen nicht deine Adresse steht, sondern dein Haus selbst (und nicht nur ein Bild von deinem Haus)
probiers mal so:
SortFields.Add Key:=Range(Tabelle.Name & "[[#All],[Motornr.]]")
Gruß Daniel
Anzeige
AW: intelligente Tabelle via VBA sortieren
17.07.2019 10:17:43
Daniel
Super!!!
Danke für deine Hilfe
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Intelligente Tabelle via VBA sortieren


Schritt-für-Schritt-Anleitung

Um eine intelligente Tabelle in Excel mithilfe von VBA automatisch zu sortieren, folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx) und wähle Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Sub SortiereIntelligenteTabelle()
       Dim Tabelle As ListObject
       Set Tabelle = Worksheets("Übersetzungen").ListObjects("Tabelle1")
    
       With Tabelle.Sort
           .SortFields.Clear
           .SortFields.Add Key:=Range(Tabelle.Name & "[[#All],[Motornr.]]"), _
                           SortOn:=xlSortOnValues, _
                           Order:=xlAscending, _
                           DataOption:=xlSortTextAsNumbers
           .Header = xlYes
           .MatchCase = False
           .Orientation = xlTopToBottom
           .SortMethod = xlPinYin
           .Apply
       End With
    End Sub
  4. Führe das Makro aus:

    • Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.

Häufige Fehler und Lösungen

  • Fehler: Methode Range für das Objekt global fehlgeschlagen:

    • Stelle sicher, dass der Tabellenname und die Spaltenüberschrift korrekt angegeben sind. Verwende Tabelle.Name anstelle von Tabelle.
  • Fehler: 438 Objekt unterstützt diese Eigenschaft oder Methode nicht:

    • Überprüfe, ob die verwendeten Objekte und Methoden korrekt sind. Beispiel: SortFields.Add Key:=Range(Tabelle.Name & "[[#All],[Motornr.]]").

Alternative Methoden

Wenn VBA nicht die gewünschte Flexibilität bietet, kannst du auch die integrierten Sortierfunktionen von Excel nutzen:

  1. Markiere die gesamte intelligente Tabelle.
  2. Gehe zu Daten > Sortieren.
  3. Wähle die Spalte aus, nach der du sortieren möchtest, und klicke auf OK.

Diese Methode ist besonders nützlich, wenn du die Tabelle manuell sortieren möchtest.


Praktische Beispiele

Hier ist ein Beispiel für das Sortieren einer intelligenten Tabelle:

Sub BeispielSortieren()
    Dim Tabelle As ListObject
    Set Tabelle = Worksheets("Übersetzungen").ListObjects("Tabelle1")

    ' Sortiere nach der Spalte "Motornr."
    With Tabelle.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range(Tabelle.Name & "[[#All],[Motornr.]]"), _
                        SortOn:=xlSortOnValues, _
                        Order:=xlDescending, _
                        DataOption:=xlSortTextAsNumbers
        .Header = xlYes
        .Apply
    End With
End Sub

Dieses Beispiel sortiert die Tabelle in absteigender Reihenfolge nach der Motornr..


Tipps für Profis

  • Automatisierung: Du kannst das Sortieren der Tabelle in Kombination mit anderen Makros automatisieren, um komplexe Datenverarbeitungsprozesse zu optimieren.
  • Fehlerbehebung: Nutze Debug.Print in deinem Code, um den Wert von Variablen zu überprüfen und Fehler schneller zu identifizieren.
  • Dokumentation: Halte deinen Code gut dokumentiert, um die Wartung und Anpassung zu erleichtern.

FAQ: Häufige Fragen

1. Wie erstelle ich eine intelligente Tabelle in Excel?
Du kannst eine intelligente Tabelle erstellen, indem du einen Datenbereich markierst und dann auf Einfügen > Tabelle klickst. Aktiviere die Option „Meine Tabelle hat Überschriften“.

2. Kann ich mehrere Spalten gleichzeitig sortieren?
Ja, du kannst mehrere Spalten hinzufügen, indem du die SortFields.Add Methode mehrmals aufrufst, um die gewünschten Spalten anzugeben.

3. Was ist der Unterschied zwischen einer normalen Tabelle und einer intelligenten Tabelle?
Eine intelligente Tabelle in Excel bietet erweiterte Funktionalitäten wie automatische Filter, Sortierung und die Möglichkeit, mit dynamischen Bereichen zu arbeiten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige