Anzeige
Archiv - Navigation
1756to1760
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

Spalten sortieren mit Spaltenbreite

Spalten sortieren mit Spaltenbreite
15.05.2020 17:29:28
David
Hallo,
vielen Dank für dieses Forum.
Ich muss in einem Arbeitsblatt Spalten mehrfach umsortieren, was ich mit der .sort Methode gut hinbekomme. Allerdings wird die Spaltenbreite dabei offensichtlich nicht mit verschoben. Alles andere (Werte, Farben usw.) dagegen einwandfrei. Nur die Spaltenbreite eben nicht. Das verdirbt mir die ganze Formatierung.
Kennt da jemand eine Lösung?
Vielen Dank
D. Holzhey

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten sortieren mit Spaltenbreite
15.05.2020 17:37:56
Daniel
Hi
Probiermal, obs besser funktioniert, wenn du die ganzen Spalten sortierst (.EntireColumn)
Gruß Daniel
AW: Spalten sortieren mit Spaltenbreite
15.05.2020 17:51:58
David
Hallo und vielen Dank. Habe es mal eingefügt (s.u.) das hat noch nicht geholfen. habe ich es an der richtigen Stelle eingefügt?
Danke
'Spalten sortieren
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range(Cells(Ordnungszeile, 5), Cells(Ordnungszeile, 300)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle1").Sort
.SetRange Range("E1:KN370").EntireColumn
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Anzeige
AW: Spalten sortieren mit Spaltenbreite
15.05.2020 18:24:39
Daniel
Ja, wenn an der Stelle.
Im Prinzip würde dann auch reichen Range("E:KN")
Wenn's nicht geht, wird's schwierig
Dann müsstest du dir die Spaltenbreite merken und hinterher wieder herstellen.
Probier's Mal so:
Füge eine zusätzliche Zeile ein (bspw Zeile 1) Vor dem Sortieren lässt du dann folgenden Code laufen:
For S = 5 to 300
Cells(1, S) = Columns(S).ColumnWidth
Next
Nach dem Sortieren dann
For S = 5 to 300
Columns(S).ColumnWidth = Cells(1, S).value
Next
Im Prinzip reicht es auch, wenn du die erste Schleife in einem anderen Makro einmal laufen lässt und dann die SollspaltenBreite dort fest einträgst.
Dann kannst du sie mit der zweiten Schleife immer wieder herstellen, falls mal jemand was verstellt hat.
Gruß Daniel
Anzeige

188 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige