Learn VBA for Excel
Tutorials
VBA Toolbelt
delete_blank_rows_with_varying_range