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 Unterstü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

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
   strSpalte = Chr(ActiveSheet.Range("A:G").Find(What:="Vorname").Column + 64)
   intLastRow = Cells(Rows.Count, 1).End(xlUp).Row
   strSortRange = "$A$" & intZeile & ":$" & strSpalte & "$" & intLastRow 
   ceManNr = Chr(ActiveSheet.Range("A:G").Find(What:="ManNr").Column + 64) & intZeile 
   ceWKN = Chr(ActiveSheet.Range("A:G").Find(What:="WKN").Column + 64) & intZeile
   ceGerätNr = Chr(ActiveSheet.Range("A:G").Find(What:="GerätNr").Column + 64) & intZeile
   ceStartreihenfolge = Chr(ActiveSheet.Range("A:G").Find(What:="Startreihenfolge").Column + 64) & intZeile   
   ceNachname = Chr(ActiveSheet.Range("A:G").Find(What:="Nachname").Column + 64) & intZeile 
   ceVorname = Chr(ActiveSheet.Range("A:G").Find(What:="Vorname").Column + 64) & intZeile
   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.



Drucken

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der 
 Lösungsfindung?

  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
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Bestätigung erklären Sie sich mit der Verwendung von Cookies auf Excel-Inside Solutions einverstanden.
Weitere Informationen Ok