[Excel VBA] Seitenplatz besser ausnutzen

Raknar

Ensign
Registriert
Apr. 2006
Beiträge
174
Guten Morgen,
ich bin gerade dabei Telefonkontakte von Lotus Notes in eine Exceldatei via Makro zu exportieren. Das klappt auch ganz gut. Zwei Dinge stören mich aber noch.

1.: Ein kompletter Datensatz eines Kontakts erstreckt sich über 5 schmale Spalten. Ich würde gerne noch die 5 Spalten daneben verwenden um nachher Druckpapier zu sparen. Das muss dann aber so ablaufen, dass zunächst die Zellen der ersten 5 Spalten bis zum Seitenende gefüllt (oder nachträglich umsortiert) werden, danach wird wieder in Zeile 1 Angefangen und die Zellen der nächsten 5 Spalten werden bis zum Seitenende gefüllt. Erst dann soll es zum Seitenwechsel kommen, wenn dies denn nötig werden sollte. Gibt es dazu vielleicht ein paar passende Befehle?

2.: Die Telefonliste lasse ich alphabetisch sortieren. Den Code dazu habe ich allerdings durch eine Makro-Aufnahme bekommen und sieht wie folgt aus:
Code:
wksnummer = ActiveSheet.Index
   
    Range("A2").Select
    ActiveWorkbook.Worksheets(wksnummer).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(wksnummer).Sort.SortFields.Add Key:=Range("A2"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(wksnummer).Sort
        .SetRange Range("A:E") ' Achtung, hier anpassen, falls mehr oder weniger Spalten
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Die Zeile mit SetRange stört mich, da es besser wäre die Range automatisch zu erfassen. Es könnte ja sein, dass später mehr Spalten von Lotus Notes exportiert werden, die der vorliegende Code nicht berücksichtigen würde. Wie mache ich das am besten?

Vielen Dank im Voraus!
 
Zurück
Oben