Matrix mit vier Spalten mit VBA sortieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Matrix mit vier Spalten mit VBA sortieren
von: Müller C.
Geschrieben am: 20.05.2015 12:00:41

Hallo mal wieder,
ich habe eine 4-spaltige Matrix, die nach einer belieibigen Spalte sortiert werden soll.
Am besten kommt vor der Sortierung eine Abfrage nach welcher Spalte sortiert werden soll.
Meine Daten sind in Spalte A bis D.
Ist das auf einfachem Wege mit VBA zu realisieren?
Mit dem Makrorekorder funktionierts leider nicht.
Ich danke im Voraus!
Viele Grüße

Bild

Betrifft: gibt s doch schon
von: selli
Geschrieben am: 20.05.2015 12:10:58
hallo müller c.,
genau eine solche srtierfunktion ist doch in excel schon integriert, in der du voreher festlegen kannst wonach sortiert werden soll.
warum das rad neu erfinden?
gruß
selli

Bild

Betrifft: AW: gibt s doch schon
von: Müller C.
Geschrieben am: 20.05.2015 12:23:34
hallo selli,
ich glaube ich stehe auf dem Schlauch. Meinst du die normalen Filterfunktionen in Excel oder einen VBA-Code der bereits standardgemäß vorhanden ist?
Gruss

Bild

Betrifft: AW: gibt s doch schon
von: selli
Geschrieben am: 20.05.2015 12:30:05
hallo müller c.,
nein, ich meine die sortierfunktion.
Daten - Sortieren
gruß
selli

Bild

Betrifft: AW: gibt s doch schon
von: Müller C.
Geschrieben am: 20.05.2015 12:48:54
hallo selli,
ja schon, aber ich würde das Ganze gerne autotmatisch über VBA ablaufen lassen.
Nicht manuell!
versuchs mal mit dem Makrorekorder iwie einzubinden.
vllt klappts ja
Gruss

Bild

Betrifft: AW: Matrix mit vier Spalten mit VBA sortieren
von: Rudi Maintaire
Geschrieben am: 20.05.2015 12:58:28
Hallo,
Klick in die erste Zeile sortiert:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Count = 1 Then
    If Target.Row = 1 And Target <> "" Then
      Target.Sort key1:=Target, order1:=xlAscending, Header:=xlYes
    End If
  End If
End Sub

Gruß
Rudi

Bild

Betrifft: AW: Matrix mit vier Spalten mit VBA sortieren
von: Müller C.
Geschrieben am: 20.05.2015 14:19:59

  • Hallo Rudi,
    ich habe bereits mehrere Codes (Subs ()) die nacheinander ausgeführt werden. Dabei werden die Daten aus einer Tabelle kopiert, in ein andere Tabellenblatt eingefügt, die Leerzellen gelöscht und dann der Bereich A3:D500 nach B sortiert.
    Wie muss ich den Code abändern, damit er dieses tut?
    Zusammenfassend habe ich eine SUb, die nacheinander alle Codes ausführt.
    Danke im Voraus!
    Gruss

    Bild

    Betrifft: AW: Matrix mit vier Spalten mit VBA sortieren
    von: Rudi Maintaire
    Geschrieben am: 20.05.2015 14:36:31
    etwa so:

    Sub bla()
      'dein Code
      Range("A3:D500").Sort key1:=Range("B3"), order1:=xlAscending, Header:=xlYes 'oder xlNo
      'weiterer Code
    End Sub
    Gruß
    Rudi

    Bild

    Betrifft: AW: Matrix mit vier Spalten mit VBA sortieren
    von: Müller C.
    Geschrieben am: 20.05.2015 14:43:26
    PErfekt! Danke RUdi!
    Eine Kleinigkeit hätte ich noch:
    Wie kann ich vor dem Sortieren noch eine Abfrage einbauen, bei der ich die Sortierspalte auswähölen kann, also ob nach A, B, C oder D sortiert werden kann!
    Gruss

    Bild

    Betrifft: AW: Matrix mit vier Spalten mit VBA sortieren
    von: Rudi Maintaire
    Geschrieben am: 20.05.2015 14:57:17
    Hallo,

    Sub bla()
      Dim s
      'dein Code
      s = InputBox("Sortierspalte?")
      Select Case s
      Case "A" To "D", "a" To "d"
      Range("A3:D500").Sort key1:=Range(s & "4"), order1:=xlAscending, Header:=xlYes 'oder xlNo
      End Select
      'weiterer Code
    End Sub

    Gruß
    Rudi

    Bild

    Betrifft: AW: Matrix mit vier Spalten mit VBA sortieren
    von: Müller C.
    Geschrieben am: 20.05.2015 16:06:18
    Hallo Rudi,
    perfekto, aber ich habe ein kleines Problem entdeckt.
    Bereich A:D ist ja mein Sortierbereich. Nun habe ich in Spalte E F G Formeln stehen.
    Wenn ich die Sortierung durchführe, dann verhauts mir den Bereich. So fehlen z.B ab F40 nach dem Sortiervorgang die Formeln.
    KLann ich das iwie verhindern?
    Gruss

     Bild

    Beiträge aus den Excel-Beispielen zum Thema "Matrix mit vier Spalten mit VBA sortieren"