Autor Thema: Excel Export sortieren  (Gelesen 3012 mal)

Offline Micha8

  • Frischling
  • *
  • Beiträge: 24
Excel Export sortieren
« am: 01.04.08 - 09:38:56 »
Hallo zusammen,

ich weiß, mein Thema wurde hier schon oft gefragt und diskutiert. Habe alle Threads schon gelesen, doch die Lösung für mein Problem habe ich bisher nicht wirklich lesen können.
Also, der Export von Notes nach Excel funktioniert soweit. Nun möchte ich die Exceldaten sortieren. Es gibt eine Überschriftenzeile ! Den Code für die Sortierung ohne Überschrift habe ich schon gesehen und getestet, das funktioniert ja auch. Jedoch wie gesagt mit Überschrift bekomme ich das alleine nicht hin. Habe anstelle alle Zellen zu markieren auch schon probiert nur die reinen Datenzellen zu markieren (also unterhalb der Überschriftszeile) und diese dann zu sortieren. Das markieren funktioniert, aber das sortieren nicht.

Kann jemand helfen ?
Gruß
Michael

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: Excel Export sortieren
« Antwort #1 am: 01.04.08 - 09:41:46 »
Bitte Code posten, ich denke bei der Sortierung wurde eine option nicht richtig gesetzt.

Rainer
Rainer Zaske

MCSD - C#

Offline Neopi

  • Frischling
  • *
  • Beiträge: 20
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Excel Export sortieren
« Antwort #2 am: 01.04.08 - 09:48:05 »
Hi Michael,
mach die Sortierung von Hand und zeichne ein Makro auf.
Dann musst Du nur noch den Code in LS einbauen.

Die Bedeutung der Schlüsselwörter gibt Dir die VB-Hilfe.

gruß
martin
Verkompliziere das Einfache,
vereinfache das komplizierte
und Du lernst jeden Tag dazu.

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 Export sortieren
« Antwort #3 am: 01.04.08 - 11:12:29 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Micha8

  • Frischling
  • *
  • Beiträge: 24
Re: Excel Export sortieren
« Antwort #4 am: 01.04.08 - 11:50:33 »
sorry, da hätte ich auch sofort selbst drauf kommen können, meinen Code hier zu posten.
Info: anzzeil beinhaltet die Anzahl der Zeilen
Code
... 
	'Konstanten für die Sortierung
	Const xlAscending = 1
	Const xlGuess = 0
	Const xlTopToBottom = 1
	
	Set xlApp = CreateObject("Excel.Application")
	Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
	....	
	'zur Sortierung der Daten folgender Code:
	xlApp.Range("A2","G" & anzzeil).Select
	xlApp.Selection.Sort  xlsheet.Columns("A"), xlAscending , "", xlsheet.Columns("B"), xlAscending, xlsheet.Columns("C"), xlAscending, xlGuess,1, False, xlTopToBottom	
	....

Mit diesem Code wird zwar mein Zellenbereich markiert, aber eine Sortierung wird nicht durchgeführt. Und es ist anscheinend egal ob ich nun "xlApp.Selection.Sort ..." schreibe oder "xlsheet.Selection.Sort ...".

Ist hier ein Fehler eingebaut ? Was ist falsch ?

---------------------------------------------------------------------
@Axel
habe auch die Variante aus Deiem Link-Vorschlag getestet. Das funktioniert sogar, und zwar mit diesem Code anstelle der o.g. letzten Anweisung:

Code
xlApp.Selection.Sort  xlsheet.Range("A2","A" & anzzeil)

Aber so wird es aufsteigend sortiert. Was ist, wenn ich es absteigend sortieren möchte ?

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: Excel Export sortieren
« Antwort #5 am: 01.04.08 - 12:01:18 »
Hallo,

setz den Parameter xlGuess auf xlYes um. Damit weis Excel, dass eine Titelzeile vorhanden ist.

Rainer
Rainer Zaske

MCSD - C#

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 Export sortieren
« Antwort #6 am: 01.04.08 - 12:07:48 »
Du musst die Sort-Funktion entsprechend ändern. Der Parameter 1 von Range ist für die aufsteigende Sortierung zuständig. Hier musst du 2 eintragen. Dann sollte das funktionieren.


Function xlSort( xlSheet As Variant , sDataRange As String , sColumnRange As String ) As Variant
   ' # sDataRange => der gesamte Bereich mit Daten => "A2:F20" bei Kopfzeile, 5 Spalten und 19 Daten-Zeilen
   ' # sColumnRange => Die Spalte, nach der sortiert werden soll => "A2:A20" bei Kopfzeile und 19 Daten-Zeilen
   Call xlSheet.Range( sRange ).Sort( xlSheet.Range( sColumnRange ) , 2 )
End Function



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

Offline Micha8

  • Frischling
  • *
  • Beiträge: 24
Re: Excel Export sortieren
« Antwort #7 am: 01.04.08 - 13:53:55 »
Ich danke Euch !

Habe beide Varianten getestet - funktionieren beide 100%ig  :)

Gruß
Michael

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz