Changing layouts
Headers and column positions could move between source deliveries.
Case Study 03 • Reusable Reporting Framework
A query-driven Excel/VBA tool that treated recurring CSV and XLSX files as data sources, turning many formula-heavy templates into selectable, formatted reporting workflows.
Overview
Recurring NYC reporting depended on source files delivered as CSVs and Excel workbooks. Traditional templates copied those files into raw tabs and used formulas to shape the result, making changes difficult when headers moved or business rules evolved.
I built an Excel/VBA framework that used ADODB to execute Access SQL-style logic directly against folder-based files, then returned results to a formatted workbook for review and delivery.
Problem
Formula-heavy workbooks coupled data retrieval, transformation, and presentation. Each variation could become another template, and column changes could break references throughout the file. The team also needed a safe way to use SQL-style thinking without relying on production database access for every transformation.
Headers and column positions could move between source deliveries.
Recurring work arrived primarily as CSV, with some XLSX-tab variations.
Transformations needed to avoid unnecessary use of production database systems.
Generic ADODB errors and VBA complexity could make broader adoption difficult.
Approach
The framework used a raw-data folder for each run and a shared library of text query files. VBA dynamically listed available queries, let the operator choose a source folder, executed the selected ADODB logic, and wrote the recordset into a standardized workbook format.
Choose the source folder and required report through the Excel interface.
FileSystemObject reads the matching text-based query definition from the shared library.
ADODB applies SELECT, JOIN, GROUP BY, filters, UNION ALL, and aggregation logic to CSV or XLSX sources.
CopyRecordSet returns the result to Excel and the template applies the standard customer-ready presentation.
Sanitized Evidence
An operator selects a report and source folder. The framework loads a text query, executes it against approved files through ADODB, and writes the result to a formatted Excel output.
Key Decisions
Reasoning
New or revised queries could be added to the library and discovered dynamically without changing the selector code.
Tradeoff
The query files became a governed dependency and required clear naming and change discipline.
Reasoning
The approach enabled SQL-style transformations where the actual inputs lived, without first copying every source into workbook tabs.
Tradeoff
Access SQL syntax and provider behavior differed from enterprise database platforms and produced generic errors.
Reasoning
Excel was familiar to the reporting environment and supported final review, formatting, and customer-ready delivery.
Tradeoff
The framework remained a specialized tool, primarily used by its builder and selected testers rather than broadly adopted by the full team.
Tools & Validation
Result & Impact
The framework reduced dependence on workbook formulas and produced formatted outputs from reusable query definitions. Separating query logic from presentation made the owner’s changes more direct, while wider team adoption remained limited by workload and troubleshooting complexity.
Learnings
This project is best understood as an advanced Excel/VBA reporting framework, not as database administration or enterprise software deployment. It processed approved file-based inputs and supported reporting workflows within the team's operating environment.