Hmm..
Um das hier mal abzukürzen...
Ein kleines Beispiel, basierend auf deinem Code, jedoch alle Excel-Sachen in eigene
Unit verfrachtet und deutlich aufgeräumt..
In dem Beispiel wird ein Excel-Dokument (OpenDialog) geöffnet und das angegeben Sheet ein das Grid eingelesen.
Hierbei wird angenommen, das die erste ROW im Excel-Dokument die Header-Zeile ist.
(Musterdatei beigelegt)
Beim Speichern werden die Daten aus dem Grid ins Excel-Dokument geschrieben und dieses gespeichert.
Das eigentliche Schließen von Excel erfolgt erst im OnClose des Formulares.
(Erstellt mit D6)