Giter Club home page Giter Club logo

workout_vba's Introduction

Workout_VBA

This workout program is a personal project where I'm opening up for other people to comment or contribute. Given it's developed with Excel/VBA, one needs to download the Excel file "Eric's Workout Tracker_11FEB23.xlsx" and the text file "Workout_Program.txt". On personal devices, you may create your .xlsm, but I choose to separate it on the repository to have all the code on one sheet.

Below is a function diagram looking at inputs and outputs and how they relate. Some functions are underdeveloped in the code, but important ones are depicted here.

Function_diagram

Naming conventions were personalized and probably need to be refactored to be a serious project. I'm in the process (eventually) of converting this to C# and thinking through object oriented programming techniques to better handle the data and from multiple users. If you look at "Workout_Blazor" that is a template slightly modified to test the SQLite database before I begin doing any of the logic developed in this program.

Below is the initial dialogue box to input either individual exercise data as part of a daily workout or an entire set of workout data.

image

For individual exercise data input, the exercise coefficients are calculated based on user-weight in the denominator that by design is optimized recursively over time.

User-input weight is collected every time for individual exercise data.

image

Following weight input, the program collects the number of exercises historically that have been done in a given workout category. The example below is for "Chest" workouts that were selected on the first dialogue box. Note: If you wish to add a new "Chest" workout, one needs to add the data onto "Sheet2" where this is scraped and collected based on those workout coefficients. This augments every time you add workouts to your recurring exercise-exercise coefficient (Cex) that gets stored and affects future point calculations recursively. Input point formulas are at the bottom of this next image.

image

Based on the type of exercise, there are 4 ways (R=Rep, W=Weight, T=Time, D=Distance) ways to measure the coefficient of performance based on how you specify the type of exercise in the collection in "Sheet2".

More to follow on the recursive nature of the points calculation. The goal is to find an optimum exercise coefficient below 1.000 that stabilizes from workout to workout. This means that consistency is key and the lower the coefficient (when stabilized) the more difficult the exercise reps/weight/time/distance is to maintain. Also, the number of sets is not critical but simply tracked as the sum of the reps is what is entered for each exercise.

Developing target workout data utilizes some of the more uniquely named functions to predictively tell the user what their exercise coefficients would be if they follow a given plan. Looking at the "Run" data the Distance data is historical until it gets to the red line. then the next 4 distances are predictive in order to get the coefficient to 0.144 as defined in F2 as the Run exercise 'target' for difficulty based on the formula.

image

If there are questions about how to use some of the more customized functions, I'm open to renaming but do not have time to go into detail here on the algorithm and how it works. If you have thoughts on how to improve from an object orientation standpoint, I'm interested in developing classes that can handle appropriate level of detail based on the instances that are developed with the data each user creates with each exercise or workout data iteration.

This project is incomplete/in-transition, but open to others' thoughts and contributions. Thank you!

workout_vba's People

Contributors

jericdw avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.