Domino 9 und frühere Versionen > Entwicklung

Excel Sortierung per Lotusscript

(1/2) > >>

Blackraven:
hallo,

möchte eine Sortierung von Daten in Excel per Lotusscript erstellen.
Sortiert werden soll nach 1.Spalte A und dann Spalte B:

Sortierung ohne Header funktioniert:
xlApp.WorkBooks(1).Sheets(2).Select
Set xlSheet = xlApp.WorkBooks(1).ActiveSheet

xlSheet.Cells.Select  'Gesamtes Arbeitsblatt markieren
xlApp.Selection.Sort  xlSheet.Columns("A"), xlAscending , "",_
xlSheet.Columns("B"), xlAscending , xlSheet.Columns("C"),_
xlAscending, xlGuess,1, False, xlTopToBottom

Aber wie stell ich das an, wenn die Daten die ich sortieren will, erst ab Zeile 7 vorhanden sind?
D.H. Zeile 6 (Header), Spalten A-E??

Ich komm grad da nicht weiter.

   

eknori:
Habe es jetzt nicht aktuell im Zugriff, aber mit xlSheet.Range und dann einem Selct auf das Range solltest du weiterkommen

Blackraven:
Hab ich mal versucht, aber anscheinend bin ich "unfähig" ;-)

bin da leider nicht sooooo fit :-(

Axel:
Hi,

dein Aufruf

xlApp.Selection.Sort  xlSheet.Columns("A"), xlAscending , "",_
xlSheet.Columns("B"), xlAscending , xlSheet.Columns("C"),_
xlAscending, xlGuess,1, False, xlTopToBottom

mit dem Parameter xlGuess ist soweit richtig. Du darfst nur nicht das gesamte Arbeitsblatt markieren, sondern nur den Bereich, den du sortieren willst.

Mit diesem Aufruf

xlSheet.Range("A7:B12").Select

markierst du den Bereich von Zeile 7 bis 12 in den Spalten A und B


Axel

Blackraven:
Also....
ich hab jetzt gebaut: Zeile 6 ist die Kopfzeile.
row1 letzte Zeile, wird über Schleife gezählt.


Set xlSheet = xlApp.WorkBooks(1).ActiveSheet
Dim srange As String
range = "A6:E"+Cstr(row1)
xlSheet.Range(srange).Select
xlApp.Selection.Sort  xlSheet.Columns("A"), xlAscending , "", xlSheet.Columns("B"),xlAscending ,xlGuess,1, False, xlTopToBottom

da stimmt aber irgendwas nicht mit, bekomm nen Fehler:
"Microsoft Excel: Reference is not valid"

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln