Autor Thema: Excel Sortierung per Lotusscript  (Gelesen 4351 mal)

Offline Blackraven

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Ich liebe dieses Forum!
Excel Sortierung per Lotusscript
« am: 11.03.05 - 13:21:35 »
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.

   

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Excel Sortierung per Lotusscript
« Antwort #1 am: 11.03.05 - 13:24:56 »
Habe es jetzt nicht aktuell im Zugriff, aber mit xlSheet.Range und dann einem Selct auf das Range solltest du weiterkommen
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Blackraven

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Ich liebe dieses Forum!
Re: Excel Sortierung per Lotusscript
« Antwort #2 am: 14.03.05 - 09:23:24 »
Hab ich mal versucht, aber anscheinend bin ich "unfähig" ;-)

bin da leider nicht sooooo fit :-(

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Excel Sortierung per Lotusscript
« Antwort #3 am: 14.03.05 - 10:05:01 »
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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Blackraven

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Ich liebe dieses Forum!
Re: Excel Sortierung per Lotusscript
« Antwort #4 am: 15.03.05 - 08:30:38 »
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"

« Letzte Änderung: 15.03.05 - 11:16:07 von Blackraven »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Excel Sortierung per Lotusscript
« Antwort #5 am: 15.03.05 - 11:44:31 »
Hi,

hier liegt der Fehler:

Dim srange As String
range = "A6:E"+Cstr(row1)
xlSheet.Range(srange).Select


Das müsste wohl

srange = "A6:E"+Cstr(row1)

heißen.

Alerdings bin ich mir nicht ganz sicher, ob es als String-Variable funktioniert. Bei musste ich es als Variant-Wert übergeben.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Blackraven

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Ich liebe dieses Forum!
Re: Excel Sortierung per Lotusscript
« Antwort #6 am: 15.03.05 - 13:46:03 »
das war im Endeffekt nur ein schreibfehler mit srange und range.

Die Fehlermeldung war die gleiche.

jetzt hab ich einfach mal den oberen Beschriftungsteil entfernt, damit ich in der 1.Zeile den Header habe, und ab Zeile 2 dann die Daten.

Witzigerweise habe ich 2 Sheets mit der gleichen Formel sortieren wollen.
1.Sheet, Kopfzeile wird mit in die Sortierung eingebunden.
2.Sheet, Kopfzeile fest, rest wird korrekt sortiert.

Das macht doch keinen Spass :-(

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Excel Sortierung per Lotusscript
« Antwort #7 am: 15.03.05 - 13:50:46 »
Hi,

hast du das auch mal versucht als Variant-Wert zu übergeben?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Blackraven

  • Aktives Mitglied
  • ***
  • Beiträge: 108
  • Ich liebe dieses Forum!
Re: Excel Sortierung per Lotusscript
« Antwort #8 am: 15.03.05 - 14:02:08 »
xlApp.WorkBooks(1).Sheets(1).Select
Set xlSheet = xlApp.WorkBooks(1).ActiveSheet
xlSheet.Range("A6:E12").Select
xlApp.Selection.Sort  xlSheet.Columns("A"), xlAscending , "", xlSheet.Columns("B"),xlAscending ,xlGuess,1, False, xlTopToBottom


gleicher Fehler :-(

liegt also nicht am variant, muss irgendwie in der Sortierformel liegen.

genauso warum läuft der Code unterschiedlich bei 2 versch. Sheets ??

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
   

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Excel Sortierung per Lotusscript
« Antwort #9 am: 15.03.05 - 14:34:45 »
Hi,

mal 'ne ganz andere Frage. Ich gehe zwar davon aus, dass du es gemacht hast, aber nur um sicher zu gehen.

Die Konstanten xlAscending, xlGuess usw. hast du entsprechend initialisiert, oder ?


Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz