Object Based visual programming assignments
Part C
For this assignment, I created a Google Sheets application that converts miles to kilometers using both a built-in formula and a custom JavaScript function. The formula provides an instant calculation directly in the sheet, while the button uses Google Apps Script to perform the same conversion when clicked.
This project helped me understand the difference between using standard spreadsheet formulas and writing scripts to automate tasks. I also got more practice working with ranges, retrieving values from cells, and updating results programmatically.
Overall, it showed me how Google Sheets can be extended beyond basic use and turned into a more interactive tool using JavaScript.
Part B
For this project, I built a VBA-based Excel application that analyzes store sales data through an interactive interface. One of the key features I implemented was a “Highest Sales” button, which sorts the dataset and identifies the top three sales values automatically.
This assignment helped me get more comfortable working with VBA, especially using loops, sorting ranges, and connecting code to form controls like command buttons. I also practiced organizing data logically and restoring the original dataset after performing operations, which made the application feel more polished and user-friendly.
Overall, this project strengthened my understanding of how VBA can turn a basic spreadsheet into a functional tool for data analysis and reporting
Part A
This project is a volume conversion program created in Visual Basic. It allows users to enter values in pints and quarts, then automatically converts the total into gallons and liters. The program demonstrates the use of variables, mathematical calculations, and formatting to display results clearly and accurately. It also includes user-friendly features such as a calculate button to process inputs and a clear button to reset the form. This assignment helped reinforce my understanding of unit conversions and basic programming logic.
(Google Sheets)
Assignment 14
For this assignment, I used Google Apps Script to build simple functions that automate calculations and display results directly in a spreadsheet. I created conversion functions for both Celsius to Fahrenheit and inches to centimeters, using mathematical formulas and applying them to values pulled from specific cells. This helped me understand how to read data from a sheet, store it in variables, perform calculations, and write the results back to the spreadsheet. I also learned how to create a basic chart using script by selecting a data range and generating a visual representation of it. Overall, this assignment strengthened my understanding of using code to automate tasks, manipulate data, and integrate functionality within Google Sheets.
(Google Sheets)
Assignment 13
For this assignment, I used Google Apps Script in Google Sheets to break down address data into separate components like city, state, and ZIP code. I used a function that loops through multiple rows, extracts specific parts of each address using string methods like substring() and indexOf(), and then places the results into their own columns. This helped me better understand how to manipulate text data programmatically and automate repetitive tasks in spreadsheets. I also practiced working with character positions and string slicing, which gave me a clearer understanding of how data can be parsed and organized efficiently.
(Google Sheets)
Assignment 12
For this assignment, I used Google Apps Script in Google Sheets to write a function that separates full names formatted as “Last, First” into two different columns for first and last names. The script loops through each row, reads the full name from the first column, and uses string functions like indexOf and substring to split the name into its components before writing them into new columns. Through this project, I learned how to automate data formatting tasks in spreadsheets, work with ranges and cell values programmatically, and apply basic string manipulation techniques in a real-world scenario. It also showed me how small scripts can save a lot of time when cleaning and organizing data.
Assignment 11
For this assignment, I created a VBA program in Excel that automatically generates an HTML page displaying images of different produce items. The program reads data from a worksheet, builds file paths for thumbnail, small, medium, and large images, and uses a template pattern to format the HTML output. One of the main things I learned was how to manipulate strings and dynamically replace placeholders to generate structured web content. I also got more comfortable troubleshooting issues, especially when working with file paths and naming conventions, which showed me how small details can break functionality. Overall, this project helped me better understand how backend logic can be used to automate and streamline the creation of front-end web content.
Assignment 10
In this assignment, I created a Visual Basic program that reads food data from an Excel worksheet and automatically generates several HTML files. The spreadsheet contained information such as the food name, food group, a nutrition facts link, and an image URL. The program loops through each row of the worksheet, builds formatted HTML strings using that data, and writes the results to text files that function as web pages. One file contains all foods, while additional files are created for individual food groups such as fruits, vegetables, whole grains, dairy, and protein. This project demonstrated how Visual Basic can automate the process of transforming spreadsheet data into structured web content. It also reinforced concepts such as loops, conditional statements, file handling, and dynamically building HTML from program data.
Assignment 9B
In this assignment, I created a Visual Basic macro that processes date information stored in an Excel worksheet and separates the different parts of the date into individual columns. The original data contained full dates written as text (for example, “Month Day, Year”). Using string functions such as InStr, Mid, Left, and Right, the program identifies the positions of spaces and commas to isolate the month, day, and year. It then places each component into its own column in the spreadsheet. In addition to extracting the full date parts, the program also generates abbreviated versions of the month and year. The macro loops through the worksheet until it reaches an empty row, allowing it to process an entire dataset automatically. This assignment helped me practice string parsing and reinforced how Visual Basic can be used to automate data formatting and organization tasks in Excel.
Assignment 9A
In this assignment, I created a Visual Basic macro that processes names stored in an Excel worksheet and separates them into first and last names. The original data was stored in a single column in the format “LastName, FirstName.” Using the InStr function, the program searches for the comma that separates the two names and then uses the Mid function to extract the appropriate sections of the text. The macro then writes the first and last names into separate columns in the worksheet. I implemented two versions of the solution: one using a For loop to process a fixed range of rows and another using a While loop that continues until it reaches an empty row. This assignment helped reinforce my understanding of string parsing, loops, and automating repetitive data-cleaning tasks in Excel using Visual Basic.
Assignment 8B
In this assignment, I developed a Visual Basic program that analyzes text entered by the user and counts specific characters within the phrase. The program includes buttons that allow the user to count how many times the phrase “I ” appears as well as the total number of vowels in the text. To accomplish this, I created a reusable function called countCharacters that searches through the string using the InStr function and counts each occurrence of a specified character or pattern. The function loops through the entire phrase, updating the search position each time a match is found. This assignment helped reinforce my understanding of string searching, loops, and functions in Visual Basic, as well as how to design reusable code that can be applied to multiple tasks within a program.
Assignment 8A
In this assignment, I built a Visual Basic program that performs several different string-manipulation tasks using built-in functions. The program accepts a full name as input and allows the user to extract different parts of the name or modify the text using buttons. I used functions such as InStr, InStrRev, Left, Right, and Mid to locate spaces in the string and separate the first, middle, and last names. I also implemented functionality to flip the order of the names (last name first) and to return a specified number of characters from either the left or right side of the text. This assignment helped me understand how strings are stored and manipulated in Visual Basic, and how searching within a string can be used to identify specific sections of text. It also reinforced the use of variables and event-driven programming through button click procedures.
Assignment 7
In this Visual Basic assignment, I developed an Excel-based data analysis tool using VBA to automate sales data processing and organization. I wrote multiple button-triggered procedures that used While loops, conditional If statements, and Excel’s built-in Range().Sort method to analyze and manage store sales information. The program counts how many stores reached at least $3,000 in sales, calculates the average sales for Oklahoma stores, identifies the highest and lowest sales values, and sorts records by store number, state, city, or total sales. I also used Cells() and IsEmpty() to loop dynamically through spreadsheet rows, ensuring the program works with varying amounts of data. This project strengthened my understanding of event-driven programming in VBA and improved my ability to automate repetitive spreadsheet tasks, analyze structured data programmatically, and build interactive Excel tools using Visual Basic.
Assignment 6B
In this assignment, I practiced using Do While loops in VBA to generate different number sequences and display them in a label. The program includes buttons that count upward, count downward, and count by 2’s in both directions. I also built a personalized loop option where the user can enter a start value, end value, increment/decrement amount, and the number of columns to format the output. This project helped me better understand how Do While loops work, how to control loop conditions, and how to format output neatly based on user input.
Assignment 6A
In this assignment, I practiced using For loops in VBA to generate different number patterns and display them in a label. The program includes buttons that count up, count down, and count by specific increments (like by 2’s). I also created a personalized loop feature where the user can enter a starting number, ending number, increment/decrement value, and how many columns to display. This part helped me understand how loops can be combined with user input and formatting to create organized output.
Assignment 5B
In this assignment, I created a math guessing game where the user has to solve an addition problem and enter their answer. The program checks the user’s guess and displays whether it is correct or incorrect. One of the main features I added was using an image control to display feedback visually. If the user guesses correctly, the program shows a happy face image, and if they guess wrong, it shows a sad face. I also included a checkbox option that allows the user to choose whether or not the face images should display. Another part of the project was adding difficulty settings using option buttons, which change the range of random numbers generated for the math problem. This assignment helped me practice working with conditional statements, random number ranges, and using images as part of a Visual Basic program.
Assignment 5A
For this assignment, I learned more about using Visual Basic controls and how they work in an actual program. I practiced using option buttons and checkboxes, and I learned how to write code that changes text formatting like bold and underline based on what the user selects. I also worked with generating random numbers, and learned how to code it so the program produces whole integers within a specific range (such as 1 through 10). Another concept I practiced was swapping values between two textboxes, which required using a temporary variable to hold one value while switching them. Overall, this project helped me better understand user input, event-driven programming, and how different controls interact with the code behind the form.
Assignment 4B
For this assignment, I developed a sales order form using Visual Basic in Microsoft Excel to calculate the total cost of a customer’s skate order. The program accepts customer information, tracks quantities for multiple product options, calculates a combined total, and applies tiered pricing based on order size. An additional discount is automatically applied for orders exceeding a specified total.
This project allowed me to practice working with multiple inputs, conditional pricing logic, and currency formatting. I implemented the pricing rules using both If / ElseIf statements and a Select Case structure, which helped reinforce how different control structures can be used to handle the same business requirements. The assignment strengthened my understanding of spreadsheet-based automation and real-world pricing scenarios.
Assignment 4A
For this assignment, I created a ticket sales calculator using Visual Basic in Microsoft Excel. The program calculates the total cost of a ticket purchase based on the number of tickets selected, applying tiered pricing where the price per ticket decreases as the quantity increases.
This project was implemented using two different approaches: one with If / ElseIf statements and another using a Select Case statement. Comparing these methods helped me understand how different control structures handle range-based logic and why Select Case can be more readable for tiered pricing scenarios. Through this assignment, I gained experience working with spreadsheet cells, currency calculations, and writing clear conditional logic for real-world pricing rules.
Assignment 3B
For this assignment, I created a grade comparison calculator using Visual Basic within Microsoft Word. The program compares a student’s average to the class average, calculates the numerical difference, and clearly displays whether the student is above, below, or at the class average. It also assigns a letter grade based on the student’s numeric score.
Through this project, I learned how to separate calculation logic from display formatting, particularly when presenting positive and negative values consistently. I also gained experience using conditional logic and Select Case statements to evaluate numeric ranges and make program decisions. This assignment helped strengthen my understanding of data handling, formatting output, and writing clear, readable code for user-facing results.
Assignment 3A
For this assignment, I built a grade calculator using Visual Basic in Microsoft Word that evaluates two exam scores. The program calculates the student’s average, determines pass or fail status, assigns a letter grade, and identifies whether the student improved on the second exam.
This project was designed to compare two different approaches to decision-making in code. I implemented the grading logic once using nested If statements and again using a Select Case statement, allowing me to see how the same problem can be solved in multiple ways. Through this assignment, I gained a better understanding of conditional logic, numeric comparisons, and choosing clearer, more readable structures when writing programs.
Assignment 2B
In this assignment, I developed a penny calculator that converts a total number of pennies into dollars, quarters, dimes, nickels, and remaining pennies. The project demonstrates two different approaches to solving the same problem: one using repeated subtraction after integer division, and another using the Mod operator to calculate remainders more efficiently.
Through this project, I learned how the Mod function works and how it can simplify calculations involving remainders. Comparing the two methods helped reinforce my understanding of integer division, control flow, and writing clearer, more efficient code. This assignment also strengthened my ability to evaluate different programming approaches and understand why one solution may be preferred over another.
Assignment 2A
For this assignment, I created a conversion calculator using Microsoft Word’s Visual Basic developer tools. The program takes user input for feet and inches and converts those values into feet, yards, and meters. I implemented event-driven programming through button controls, used variables to store and process user input, and applied formatting to ensure clear, readable output.
Through this project, I learned how Visual Basic handles user input, calculations, and form controls, as well as the importance of validating and formatting data for usability. This assignment helped reinforce my understanding of basic programming logic, unit conversion, and how simple applications can be built using built-in development tools.
Assignment 1B
For this assignment I created a Money Calculator using Microsoft Word and Visual Basic for Applications (VBA). This project gave me more practice using Developer Tools and ActiveX controls. I learned how to use " _ " to organize code on multiple lines. I also tried some color customization with the buttons.
Assignment 1A
For this assignment, I created a simple calculator using Microsoft Word and Visual Basic for Applications (VBA). Through this project, I learned how to enable and use Developer Tools and ActiveX controls within Word. I applied standard naming conventions for text boxes, labels, and command buttons to keep the code organized and readable.
I also customized the calculator’s design by adjusting font sizes and colors, resizing buttons and input fields, and arranging the layout for usability. In addition, I programmed the button functionality using VBA to perform basic arithmetic operations. To improve reliability, I implemented basic error handling, including messages for missing input values and preventing division by zero.