Hallo, Autofit muss natürlich erst nach dem Füllen des Worksheets aufgerufen werden.
Den Selection-Range könntest du in einer OleVariant SelRange speichern, damit dieser nicht 2 Mal berechnet werden muss:
also diese Variable hinzufügen
SelRange: OLEVariant;
und dann so:
Delphi-Quellcode:
SelRange := XLApp.Workbooks[M].Worksheets[N].Range[RefToCell(1, 1), RefToCell(SheetRowCount, SheetColCount)];
SelRange.Select;
XLApp.Selection.NumberFormat := '@';
// ..
SelRange.Select;
XLApp.Selection.Columns.AutoFit;