Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - genaue Zeilenanzahl in Excel


D. Annies - Fr 20.07.07 13:34
Titel: genaue Zeilenanzahl in Excel
Hi, Delpher,

Wie bekomme ich die genaue Anzahl der beschriebenen Zeile in einem ExcelBlatt heraus?

hab's probiert mit
showmessage(inttostr(Excel.workbooks[1].worksheets[1].UsedRange.rows.count));
Aber die Zahl stimmt so nicht.

Über Rat freut sich
Detlef A.


Agawain - Fr 20.07.07 14:01

Hi

was genau willst Du denn machen?
Es könnte sein, daß wir in etwa vor derselben Aufgabe stehen.

Ich muß nämlich eine Tabelle vom Aufbau

Artikel Lieferant a Lieferant b Lieferant c.......

Eintragungen sind Absatzzahlen in ein DB-genehmes Format bringen.

Da nicht jeder Lieferant jeden Artikel hat etc. habe ich sehr viele leere
Zellen dazwischen, um nicht unnötig viele Durchläufe zu machen, habe
ich mir überlegt, daß ich die Artikel und Eintragungen jeweils für einen
Lieferanten mit einem Autofilter versehe und dann die nichtleeren selektiere.
Das kopiere ich mir in ein temporäres Arbeitsblatt und dann stimmt auch der Bereich.

Habe ich schon ausprobiert, funktioniert und geht auch schnell.

Vielleicht ist das ja auch ein Lösungsansatz für Dich.

Gruß

Aga


D. Annies - Fr 20.07.07 14:54

Hi, Aga

ich denke, dass geht in die Richtung. Bei mir ist es so, dass ich auf ein existierendes ExcelSheet zugreife und Zeilen anhängen will, also die nächste leere Excelzeile erwischen will.

Idee?

Gruß, Detlef


Agawain - Fr 20.07.07 15:16

Hi

letzte Zeile := Cells(Rows.Count, 1).End(xlUp).Row;

Dafür gibt es ein Excel-Object, das hat aber den Nachteil, daß auch Formatierungen die Zeile als benutzt markieren.

letzte Zeile := Cells.SpecialCells(xlCellTypeLastCell).Row;

Gruß

Aga


D. Annies - Fr 20.07.07 15:29

Hi, Aga, ich probiere ...


D. Annies - Fr 20.07.07 17:50

Hi, Aga,

wenn man dann noch schreibt:
const xlCellTypeLastCell = $0000000B;
dann geht's.

Puuh, Detlef