Executive Summary For my VBA project I developed a Product Management Dashboard for a local software as a service provider (SAAS). Since I interned with SAAS over the summer, I was given permission to perform this project. I will refer to this company as SAAS to protect its identity. I am under a non-disclosure agreement to not share propriety information collected by this tool, but I have documented to process to demonstrate how the dashboard works. SAAS is a leader in its industry. The two existing SAAS products, SAASHome and SAASPro are managed by the Product Management department. As part of this management, 6 different surveys are deployed each month to users of the SAAS. Survey administration is provided by a third party, Question Pro. These monthly surveys are a basic Net Promoter survey. The traditional Net Promoter survey asks two questions: First, How likely is it that you would recommend our company to a friend or colleague?" Respondents select from 10 to 0 with ten being highly likely to recommend and zero as would not recommend. Second, is a question that asks the respondent to elaborate on their rating. SAAS also asks some follow up questions on customer support, ease of use, and overall satisfaction. The Product Management Dashboard solves the problems of retrieving, interpreting, organizing, and combining the results of the 6 monthly surveys into one central dashboard. In essence, not only does the dashboard save time, but also creates a standard in which the survey results can be viewed and measured by the company. Hopefully, this will help streamline the information that will lead to better decision making. Brent Christenson Final VBA project Page 1
Implementation Documentation The creation of the product management dashboard involves the implementation of a few key elements of VBA for Excel. First, is manipulation of Internet Explorer via VBA code. Second, is the use of a web query to capture data from a website and input into an Excel worksheet. Third, is recording macros to generate code for routine Excel functions. Fourth, is combining the above code into a single, executable product. Internet Explorer Manipulation Since the survey data is held on the Question Pro website, manipulation of Internet Explorer via VBA code was a necessary first step. Using a copy of an existing agent, code was written to enter a username and password to login to the site. Next, code for navigation to the data for a survey was written. After a web query to copy the data into an Excel worksheet, the process was repeated for the other 5 surveys. Web Query As stated earlier, a web query was recorded in order to generate code for the process of importing website data into an Excel worksheet. The macro was then copied into the code of the main sub procedure. This code was copied and modified for the remaining 5 surveys. Recording Macros For the interpretation, organization, and presentation of the raw data into the dashboard, macros were recorded to generate code for the sub procedure. Since these were routine Brent Christenson Final VBA project Page 2
spreadsheet functions, traditionally, it could be accomplished without VBA. Parts of the Dashboard, including the charts, were not generated via VBA. However, by generating VBA code in a relatively painless manner for the input data, it allows for easier debugging and modification in the future; thus increasing the longevity of its value. Step by Step Process I have documented the execution of the VBA code in a series of screenshots and commentary. First, the agent manipulated Internet Explorer to gain access to the survey data in Question Pro: Next, data is imported from the website into an Excel worksheet via a web query. This process is repeated until all 6 surveys have data imported to a separate worksheet: Brent Christenson Final VBA project Page 3
Now, the raw data is organized on a new worksheet via non VBA means. This will help make the final code easier to write and reduce errors. The graphic interface of the Dashboard is a series of charts and figures that display the survey data in an organized and useful fashion. These modules can be modified easily in the future to Brent Christenson Final VBA project Page 4
satisfy the changing needs of the users. A single button, update dashboard executes the entire sub procedure. When the dashboard is wiped clean it looks like this: After the code is executed, and the data retrieved and organized, the dashboard looks like this: 2.3 Brent Christenson Final VBA project Page 5
Learning s from Project I entered this project wanting to accomplish a great deal. However, it proved prudent that I did not over-promise a project larger in scope and scale than I could accomplish. However, I did create a platform friendly to additional capabilities if future development is desired. I ran into a couple of hurdles with coding the Internet Explorer manipulation. First, it was difficult to look through the html code to find the needed links. However, once found, these could be easily modified for the other 5 surveys. Next, I had difficulty importing data into Excel via code, so I just recorded a web query and pasted that into the sub procedure. Past those initial hurdles, the rest of the project ran pretty smooth. In the end, I learned that I could overcome my challenges with VBA independently and using the resources and tools taught in the course. My project may not be the most complex, but for a MBA marketer that has never wrote code before, it was satisfying to complete a VBA project on my own. Brent Christenson Final VBA project Page 6