My worksheet form is setup with 42 columns and 100 rows. The number of rows containing data varies since once the item (row) is complete, it will be archived to another worksheet where the row will be copied, then the original deleted. I have Filters turned on and they work as expected. However, I want to be able to Sort the varying length table by different conditions. Sort1 will sort starting with col. A then by D and ignore blanks. I need the sort to build on the previous sort within Sort1. That is sort on col. A will not be lost when sort on col. B is complete. Sort2 will sort by col. D the A. Sort3 will have other sort conditions depending on how I want to read the data. Each of the sorts must be activated manually from buttons. I know how to create buttons and assign a macro. If I record a macro, it requires I select the entire 42x100 table, which not so desirable because it's possible the table may be expanded with another 100 rows that are formatted and coded the same. I'd like the sort to look for the last cell containing data or the first blank cell and the sort as needed. Not sure how to do this. Thx.