Hi Tom,
IF the order of the rows containing data is sortable into an order that is useful, pick the column that makes sense for a sort, and sort the table. The object of your sort is to get all the empty rows gathered together in a group, either at the beginning of the table, or at the end of the table.
With the table sorted, follow Wayne's procedure to delete the now sequential rows.
IF the table is not sortable because you want to keep the current order, add a temporary column to restore the current order after deleting the empty rows. For the description, I'll call this Column Z. Substitute an appropriate letter for your table.
In the first non-header row of column Z, type = to open the formula editor. Enter ROW() as the formuls, then click the green checkmark to confirm the formula and close the editor. Press command-C to Copy.
With that cell still selected, scroll to the last row of the table. Press and hold the shift key as you click on the last cell in column Z. Press command-V to Pste the formula in all cells on column Z.
With all cells in column Z still selected, press command-C to copy, then go Edit (menu) > Paste formula results to replace the formulas with fixed values.
Now sort the table on a column containing data to group the empty rows, select and delete those rows as described above, the re-sort ascending on column Z to restore the original order of the remaining rows.
Regards,
Barry