Autor Beitrag
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Fr 20.07.07 13:34 
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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Fr 20.07.07 15:29 
Hi, Aga, ich probiere ...
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Fr 20.07.07 17:50 
Hi, Aga,

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

Puuh, Detlef