Projektanfrage

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unter-stützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! oder rufen Sie uns einfach an.

   
      Referenzen 

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   
     Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
   

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der Lösungs-
 findung?

  Nutzen Sie unser Anfrageformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
r
o
j
e
k
t
a
n
f
r
a
g
e
   

Sortieren einer Tabelle per VBA mit mehr als 3 Kriterien

Anbei ein kleines Beispiel für das Sortieren einer Tabelle per VBA mit mehr als 3 Kriterien. Es wird sowohl das auf- als auch das absteigende Sortieren demonstriert.

Bis Excel 2003 ist die Anzahl der Sortierkriterien auf 3 beschränkt, siehe Abb.

Dieses VBA-Makro sortiert eine Liste mit 4 bzw. 5 Sortierkriterien. Den Code zur aufsteigenden Sortierung anhand von 4 Kriterien sehen Sie im nachfolgenden Listing.

Sub Sortieren_mit_4Kriterien() 'Wkn / ManNr / GerätNr / StartReihenfolge
    Dim intZeile%, strSpalte$, intLastRow%, strSortRange$
    Dim ceManNr$, ceWKN$, ceGerätNr$, ceStartreihenfolge$, ceNachname$, ceVorname$
 
    On Error GoTo ende
    
    intZeile = ActiveSheet.Range("A:G").Find(What:="Vorname").Row + 1<br />    strSpalte = Chr(ActiveSheet.Range("A:G").Find(What:="Vorname").Column + 64)<br />    intLastRow = Cells(Rows.Count, 1).End(xlUp).Row<br />    strSortRange = "$A$" & intZeile & ":$" & strSpalte & "$" & intLastRow<br />    <br />    ceManNr = Chr(ActiveSheet.Range("A:G").Find(What:="ManNr").Column + 64) & intZeile<br />    ceWKN = Chr(ActiveSheet.Range("A:G").Find(What:="WKN").Column + 64) & intZeile<br />    ceGerätNr = Chr(ActiveSheet.Range("A:G").Find(What:="GerätNr").Column + 64) & intZeile<br />    ceStartreihenfolge = Chr(ActiveSheet.Range("A:G").Find(What:="Startreihenfolge").Column + 64) & intZeile<br />    ceNachname = Chr(ActiveSheet.Range("A:G").Find(What:="Nachname").Column + 64) & intZeile<br />    ceVorname = Chr(ActiveSheet.Range("A:G").Find(What:="Vorname").Column + 64) & intZeile<br /> <br />    Application.ScreenUpdating = </span><span style="color: #0000ff;">False
    
    With ActiveSheet
       Range(strSortRange).Sort _
          Key1:=.Range(ceStartreihenfolge), Order1:=xlAscending, Header:=xlGuess
            '1=Sortierkriterium 4 = Startreihenfolge
       Range(strSortRange).Sort _
          Key1:=.Range(ceWKN), Order1:=xlAscending, _
          Key2:=.Range(ceManNr), Order2:=xlAscending, _
          Key3:=.Range(ceGerätNr), Order3:=xlDescending, Header:=xlGuess
            '1=Sortierkriterium 1 = Wkn
            '2=Sortierkriterium 2 = ManNr
            '3=Sortierkriterium 3 = GerätNr
    End With
 ende:
    Application.ScreenUpdating = True
 End Sub 

In der Datei, welche Sie herunterladen können, ist auch der Code für das Sortieren mit 5 Kriterien enthalten.

Ab Excel 2007 ist der Zusatzcode nicht mehr notwendig, da ab dieser Version bis zu 64 Sortierkriterien standardmäßig unterstützt werden, siehe folgende Abbildung.



   

Relevante Artikel

  • Zell-Selektion auf nicht geschützte Zellen beschränken

    101079 Dieses Makro beschränkt die Zell-Auswahl auf ungeschützte Zellen. Dazu ist es notwendig, dass der Blattschutz gesetzt ist. Wenn Sie dieses Makro ausführen, können Sie nur noch die...

  • Sortieren mit der BubbleSort Routine

    Das Thema Excel und Sortieren ist sehr vielfältig. In diesem Beitrag zeigen wir Ihnen, wie Zahlen per VBA mit Hilfe der sogenannten BubbleSort Routine sortiert werden können. Wikipedia bezeichnet...

  • Verbundene Zellen finden

    101023 Das folgende Makro findet alle verbunden Zellen und gibt die Zelladressenin einer MessageBox aus.Sub VerbundeneZellen_Adressen()'Die Zelladressen aller verbundenen Zellen werden...

  • Zellen für eine einmalige Eingabe beschränken

    In diesem Beispiel zeigen wir Ihnen, wie Sie eine Zelle beziehungsweise einen Zellbereich für eine einmalige Eingabe von Text oder Zahlen beschränken können. In diesem Beispiel soll der Zellbereich B3:E9...

  • Array-Bereich direkt in Zell-Bereich schreiben

    Sie kennen sicherlich den gewohnten Umgang (schreiben und lesen) mit Array-Variablen. Normalerweise wird jeder Eintrag der Array-Variable einzeln referenziert. Sub Normales_Array()'**...