Microsoft Excel

Herbers Excel/VBA-Archiv

vba Sortieren DataOption und Order als Variable


Betrifft: vba Sortieren DataOption und Order als Variable
von: Maik
Geschrieben am: 12.12.2018 15:06:09

Hallo zusammen,
ich möchte die Sortiereinstellungen DataOption und Order als Variable übergeben.
ActiveWorkbook.Worksheets(sRegister).Sort.SortFields.Add Key:=rSortierspalte_2, SortOn:=xlSortOnValues, Order:=sRichtung_2, DataOption:=sDataOption_2

Wie muss ich DataOption und Order deklarieren, damit das auch geht (string und variant) geht nicht :-(.

Danke schon mal für die Hilfe.
Maik

  

Betrifft: AW: vba Sortieren DataOption und Order als Variable
von: onur
Geschrieben am: 12.12.2018 17:34:33

xlSortDataOption enumeration (Excel)


Specifies how to sort text.
Name 	Value 	Description
xlSortNormal 	        0 	default. Sorts numeric and text data separately.
xlSortTextAsNumbers 	1 	Treat text as numeric data for the sort.

DataOption ist entweder 0 oder 1, also Long oder Integer.
Aber um die Variable einzulesen, musst du auch Index mit angeben:
x = ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields(1).DataOption 



  

Betrifft: AW: vba Sortieren DataOption und Order als Variable
von: Maik
Geschrieben am: 13.12.2018 14:22:34

Hallo onur,
dann bekomme ich in der Zeile den Fehler 400
ActiveWorkbook.Worksheets(sRegister).Sort.SortFields.Add Key:=rSortierspalte_1, SortOn:=xlSortOnValues, Order:=lRichtung_1, DataOption:=lDataOption_1

Deklaration ist. (int geht auch nicht):
lRichtung_1 As Long, lRichtung_2 As Long, lRichtung_3 As Long, _
lDataOption_1 As Long, lDataOption_2 As Long, lDataOption_3 As Long

Übergeben werden die Werte richtig als 0 und 1.
Die Sortierfunktion kann nur damit anscheinend nichts anfangen.

Danke
Maik


  

Betrifft: AW: vba Sortieren DataOption und Order als Variable
von: onur
Geschrieben am: 13.12.2018 17:09:40

Mit Codestückchen kann ich nix anfangen.
Wo, wie und wann werden die werte ausgelesen und übergeben?
Wenn schon, dann poste den GANZEN Code.