{"id":18323964,"url":"https://github.com/frehner/excel-tutorial-framework","last_synced_at":"2026-02-26T12:03:10.350Z","repository":{"id":16456998,"uuid":"19208932","full_name":"frehner/Excel-Tutorial-Framework","owner":"frehner","description":"A framework for easily building lessons or tutorials in MS Excel.  Minimal knowledge of VBA required.","archived":false,"fork":false,"pushed_at":"2014-04-27T16:18:31.000Z","size":144,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T15:13:44.526Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/frehner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-27T16:00:34.000Z","updated_at":"2014-04-27T16:18:26.000Z","dependencies_parsed_at":"2022-09-19T08:40:53.927Z","dependency_job_id":null,"html_url":"https://github.com/frehner/Excel-Tutorial-Framework","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frehner%2FExcel-Tutorial-Framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frehner%2FExcel-Tutorial-Framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frehner%2FExcel-Tutorial-Framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frehner%2FExcel-Tutorial-Framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frehner","download_url":"https://codeload.github.com/frehner/Excel-Tutorial-Framework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055275,"owners_count":21040157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T18:30:30.113Z","updated_at":"2026-02-26T12:03:10.265Z","avatar_url":"https://github.com/frehner.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Excel-Tutorial-Framework\n========================\nCreated as a project for a class, with the goal of enabling people to easily create their own tutorials in Excel VBA, even if their knowledge of Excel VBA is limited.  The complete project can be downloaded from \n\nhttp://files.gove.net/shares/files/14w/afreh20/LearnExcel.xlsm\n\nwhich includes a basic tutorial that uses captions, actions, and validations (as described below).\n\nOverview\n========================\n\nThere are many people that are not familiar with Microsoft Excel and are unaware how much Excel can help them perform their daily tasks.  Just the simple act of opening Excel can scare some away, simply because of the strange interface and multitude of buttons and options that are available to the user.  While some may be able to get past this first shock of information overload, history and experience tells us that many who are intimidated are unable to get past this experience.  \n\nThe purpose of my project is to help facilitate the process of learning new items and tasks in Excel, but in a non-traditional manner: I made an easy-to-use and heavily commented framework in VBA that should allow anyone with a basic knowledge of VBA to create and modify their own lessons.  By creating this framework, I hope to enable anyone to make a tutorial on any Excel topic simply and easily, even if they have very little VBA knowledge.  It can be as simple as writing a paragraph, to as complex as having actions and validations for each step of the tutorial.    \n\nTo provide an example, I created a simple tutorial that is intended for absolute beginners to Excel, which walks the user through a couple of basic Excel terms, and also contains several actions and a validation.\n\nDocumentation\n=============\n \nThe following three items are the only things you will need to work with and understand in order to get a full tutorial working:\n\n●\tCaptions: Captions are the sentences or text that will be displayed when a person is going through the lesson.  There is an array of captions (and if you do not know what an array is, that’s ok, just follow the outline and you will still be able to get it to work) that is available for you to use and modify.  For example, if you add the line:\n\ncaptions(0) = “Welcome to my tutorial! We’ve selected B2, please select C3.”\n\nthen the first thing the person will see is a popup box that says “Welcome to my tutorial! We’ve selected B2. Please select C3.” Simply increment the number in the parenthesis and add more text, and the framework automatically handles the previous and next buttons for you.  Also note that you need to change the variable “numOfCaptions” to be the highest number in the list of captions.  \n\n●\tActions: Actions are code that will be executed when the user gets to that step in the tutorial.  The actions numbers are tied to the captions numbers -- but do not worry if a caption does not need an action; the framework will be able to handle that as well.  The format for actions is similar to the captions, with the difference being that the text you include in the quotes is the name of a sub procedure.  This allows you to write simple or incredibly complex actions that can be built and tested independently of the main tutorial, and then easily included and automatically run.  For example, if you wanted to have Excel select cell B2 when the first caption is shown, then you would write the following code:\n\nactions(0) = “subSelectB2”\t\t\t\n\nSub subSelectB2()\n\tRange(“B2”).Select\nEnd Sub\n\nThe framework automatically runs this action (and thus the sub) when caption(0) is displayed, whether the user presses the previous or continue button. \n\n●\tValidations: Validations are code that will be executed only when the user presses the continue button, and will ensure that the user performed a certain action before allowing him/her to move on to the next step in the tutorial or lesson.  Creating validations is very similar to creating actions, in that you add a validation to whichever step you want (and not all steps need validation, which the framework handles) by putting it in the validation array with the same number as the caption, and the text you put in is the name of the sub procedure that contains the code to validate the action.  However, the sub procedure for the validation needs you to set the variable “validated” to “TRUE” if the user performed the action correctly, and “FALSE” if the user did not perform the action correctly.  For example:\n\nvalidations(0) = “validateSelectC3”\n\nSub validateSelectC3()\n\tIF ActiveCell.Address = “$C$3” Then\n\t\tvalidated = TRUE\n\tElse\n\t\tvalidated = FALSE\n\tEnd IF\nEnd Sub\n\nThe framework looks at 'validated' to decide if the user passed the validation, and then allows the user to continue to the next step if validated equals true, otherwise a message is added to the caption asking the user to follow the steps outlined and try again.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrehner%2Fexcel-tutorial-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrehner%2Fexcel-tutorial-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrehner%2Fexcel-tutorial-framework/lists"}