In an ideal world, you would use the power of Pivot and BI using a VBA code. This would kill two birds with a stone.