I'm looking to develop a VBA macro that allows users to select a data range and dynamically create a pivot table based on their input. The macro should prompt the user to choose the data range, select fields for rows, columns, values, and filters, and then generate the pivot table accordingly. What is the best way to set this up, and how can I make the macro flexible enough to handle different data structures?