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

  • Autofilter: Gefilterte Datensätze auslesen

    In diesem Artikel erläutern wir, wie sich der über einen Autofilter gefilterte Inhalt aus einer Liste auslesen lässt. Als Ausgangsbasis dient wieder einmal eine Artikelliste mit etwas mehr als 25...

  • Bilder in Zellen importieren

    Per VBA lassen sich Bilder aus einem angegebenen Verzeichnis auslesen und importieren. Die vorgestellte Prozedur liest die Bilder aus dem eingestellten Verzeichnis "F:\Pic" aus. Die im Verzeichnis...

  • ScrollArea dauerhaft festlegen

    Als ScrollArea wird ein definierter Bereich bezeichnet, innerhalb dessen in Excel gescrollt werden kann. Die Einstellung der Eigenschaft finden Sie im VBA-Editor (Aufruf mit [Alt] + [F11])....

  • Letzte Zeile, letzte Spalte und letzte Zelle per VBA ermitteln

    101012 Nachfolgend sehen Sie einige Makros, mit denen die letzte Zeile, die letzte Spalte bzw. die letzte Zelle ermittelt werden kann. Die Erläuterungen zu den einzelnen Makros finden Sie als...

  • Anzahl der markierten Zeilen ermitteln

    101068 Wenn Sie wissen möchten, wieviele Zeilen gerade markiert sind, dann hilft Ihnen diesesMakro weiter. Die Anzahl der Zeilen wird in einer MsgBox ausgegeben.  Es muss nicht die gesamte Zeile...

   
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