Já jsem predpokladal, ze mas v prvnim radku nadpisy sloupecku.
Ale jo, staci nastavit cislo radku tak, aby to repektovalo, ze prvni radek je cislo 0.
A co se tyka prazdneho radku, tak ho tam proste poprve nevkladej.
procedure TForm1.Button2Click(Sender: TObject);
var
Row: Integer;
begin
if StringGrid1.Cells[1, StringGrid1.RowCount - 1] <> '' then
StringGrid1.RowCount := StringGrid1.RowCount + 1;
Row := StringGrid1.RowCount - 1;
StringGrid1.Cells[1, Row]:='test';
StringGrid1.Row := Row;
end;