Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortierung Spalten

Sortierung Spalten
22.01.2023 12:41:32
Ron
Hallo,
ich habe ein kleines Problem mit der Sortierung der Spalten.
Solange die Namen alle übereinstimmen läuft es gut.
Bei einigen Spalten wird aber manchmal eine Kurzform der Schreibweise geliefert.
Mit der OR Funktion geht das bei mir nicht.
Kann Jemand helfen?
Sub Sortierung()
    
    Dim Sp(1 To 6) As String
    Dim i As Long
      
      Sp(1) = "Konto" Or "KTO"
      Sp(2) = "GKTO"
      Sp(3) = "BELEG_DAT" Or "BEL_DAT"
      Sp(4) = "SOLL"
      Sp(5) = "HABEN"
      Sp(6) = "SOLL/HABEN"
     
      With ActiveSheet
          For i = 1 To 6
              If .Cells(1, i) > Sp(i) Then
                  .Columns(i).Insert Shift:=xlToRight
                  .Columns(Application.Match(Sp(i), .Rows(1), 0)).Cut .Columns(i)
              End If
          Next
      End With
      
  End Sub
Vielen Dank !
Gruß

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierung Spalten
22.01.2023 13:30:06
Daniel
Hi
Probiers mal so
Sub Sortierung()
    
    Dim Sp(1 To 8) As String
    Dim i As Long
      
      Sp(1) = "Konto" 
      Sp(2) = "KTO"
      Sp(3) = "GKTO"
      Sp(4) = "BELEG_DAT"
      Sp(5) = "BEL_DAT"
      Sp(6) = "SOLL"
      Sp(7) = "HABEN"
      Sp(8) = "SOLL/HABEN"
With active sheet.usedrange
    For i = 1 to ubound(Sp)
        .Rows(1).Replace Sp(i), i, lookat:=xlwhole
    Next
   .sort key:=.Cells(1, 1), order1:=xlascending, header:= xlno, orientation:=2
    For i = 1 to ubound(Sp)
        .Rows(1).Replace i, Sp(i), lookat:=xlwhole
    Next
End with
End sub 
Die ersetzt also die Texte durch Zahlenwerte und sortiert dann die Spalten nach diesen Zahlen, dann tauschst du wieder die Zahlen in die Texte.
Das oder für verschiedene Begriffe realisierst du dadurch, dass du diese Begriffe direkt nacheinander aufführst, beim Sortieren macht es ja nichts aus, wenn Lücken vorhanden sind.
Mit dem Parameter "Orientation" gibst du an, ob Zeilen oder Späten sortiert werden sollen. Teste bitte mal, ob 1 oder 2 der richtige wert ist.
Beachte, dass Excel sich diese Einstellungen merkt und beim nächsten Sortieren anwendet, wenn sue nicht explizit vorgegeben werden. Da man normalerweise die Zeilen sortiert ind nicht die Spalten, solltest du hinterher nor irgend was "normal" sortieren, um das wieder umzustellen.
Gruß Daniel
Anzeige
AW: Sortierung Spalten
22.01.2023 13:47:08
ralf_b
oder du schreibst über with Activesheet

Replace .Rows(1), "KTO", "Konto"
Replace .Rows(1), "BEL_DAT", "BELEG_DAT"

AW: Sortierung Spalten
23.01.2023 06:40:07
Ron
Hallo Ralf,
das verstehe ich nicht so ganz.
Soll das eine Ergänzung oder ein Austausch sein.
Egal was ich mache, es kommen nur Fehler.
Grüße
AW: Sortierung Spalten
23.01.2023 08:37:41
GerdL
Moin Ron!
Ich habe mit xlWhole unterstellt, dass keine Leer- oder Sonderzeichen in den Überschrift-Alternativen sind.
Sub Sortierung()
    
    Dim Sp(1 To 6) As String
    Dim i As Long
      
      Sp(1) = "Konto"
      Sp(2) = "GKTO"
      Sp(3) = "BELEG_DAT"
      Sp(4) = "SOLL"
      Sp(5) = "HABEN"
      Sp(6) = "SOLL/HABEN"
      
      With ActiveSheet
          
          .Rows(1).Replace "KTO", "Konto", xlWhole
          .Rows(1).Replace "BEL_DAT", "BELEG_DAT", xlWhole
          
          For i = 1 To 6
              If .Cells(1, i) > Sp(i) Then
                  .Columns(i).Insert Shift:=xlToRight
                  .Columns(Application.Match(Sp(i), .Rows(1), 0)).Cut .Columns(i)
              End If
          Next
      End With
      
  End Sub
Gruß Gerd
Anzeige
AW: Sortierung Spalten
23.01.2023 08:45:40
Ron
Hallo Gerd,
vielen Dank!!!
Gruß

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige