Banner. Photo by Author.

Saint Paul Public Schools VBA program

December 2018

Example usage of the HELP sheet


I created this spreadsheet over winter break in 2018 mainly as a way to practice my VBA programming. As part of the evaluation process for children (age 0-5 years) to get occupational and physical therapy, the Saint Paul Public Schools (SPPS) use an evaluation method called the Hawaii Early Learning Profile (HELP). This particular method required around 1-2 hours of paperwork per child, of which a single therapist may evaluate 2-3 per day. This VBA program provides a digital form for therapists to enter their data, as well as automating the effective age evaluation process and formatting of the child's evaluation report. It is now in use by around 80 people in the SPPS Early Childhood Evaluation team.


This spreadsheet serves as a tool for compiling reports and calculating effective age ranges from the HELP skill checklists. There is one tab for each HELP section, which can be changed at the bottom of the screen. To get started, open the Cognitive section, and enter the child's name and age into the boxes at the top of the page. The child's information will be automatically copied to the other sections.

Now, open the section you would like to work on. Enter a "+" for each skill that the child had mastered, a "-" for unmastered skills, an "A" for atypical behavior, an "E" for emerging, and a "NA" for not applicable. Both capital and lower-case letters will work.

Note: after entering a "+" or a "-", you much hit the enter/return key on your keyboard. If you try to click to exit a cell, Excel will think you're trying to write a formula. This is a limitation of Excel, and cannot be fixed without changing the plus and minus symbols to something else. This can easily be done, but we wanted to keep the symbols consistent with the paper version. Please share your feedback on which you prefer.

Now go through each skill and add any comments in the right column. These will be displayed along with any skills you choose to include in the report. In order for a skill to show up in the report, you must enter a "p" in the "include in report" column for that skill. The most advanced skill that the child completed in every section as well as any atypical ("A") or emerging ("E") skills are automatically displayed in the report. Only "+", "-", "A", and "E" skills can be included in the report, so if the skill is designated as "NA" or blank, it will not show in the report, even if there is a "p" in the include column.

That's it! Hit "Calculate" at the bottom of the page, and all the age values will be calculates, and the report will be updated. You can copy and paste the report into a word processor to make any edits you need (if you edit in excel, the program will delete them the next time you hit "Calculate").

Results of the HELP sheet

If you find that the age did not calculate correctly for a given section, you can override the value. See the "Override" information below.

How the age is calculated: Unmastered sections

1. The program selects the last mastered skill according to the "double plus and double minus rules.

Explanation: A mastered skill is defined as a "+" skill immediately following another "+" skill. An unmastered skill is a "-" skill immediately preceding another "-" skill. If there are none of these double plus or double minus skills, the program will revert to using single plusses instead. Only "+" and "-" skills affect the age calculation and the "A", "E", and "NA" skills are skipped entirely. If the skills immediately before the unmastered is blank, the program will continue searching backwards until a mastered skill is found. If there are no mastered skills in the section the student receives an "Unable to determine," and the section is not included in the age calculation. If there are no unmastered skills, the section is "Mastered" (see the "How the age is calculated: Mastered" section below).


Exaples of the age calculation

2a. If the child's age is less than the skill's minimum, the child receives a range of min-min.

2b. If the child's age is greater than the skill's maximum, the child receives a range of max-max.

2c. If the child's age is within the typical range for that skill, the child receives a range of min-max.

3. The program verifies that the child's maximum age range does not exceed the minimum age of the skills they haven't mastered.

Example: If the last mastered skill has a range of 18-24 months, but their unmastered skill has a range of 22-26 months, the child will be given a range of 18-22 months.

Details: A child's maximum age cannot be less than their minimum age. If the last mastered skill has a range of 18-24 months, but their unmastered skill has a range of 16-26 months, the child will be given a range of 16-16 months.

How the age is calculated: Mastered sections

If the child has mastered a section that is below their typical skill level (i.e. their age is greater than the most advanced skill), the section will be marked "mastered" and will not be included in the age calculation.

If the child has mastered a section that is above their typical skill level, their calculated range of that section will be the minimum value of the most advanced skill.

Example: an 18-month-old child has mastered a section where the most advanced skill is typically developed between 20-22 months. Their age range will be 20-20 months. If a child 20 months or older masters the same section, they will not be given an age range.


To override a calculated age value, type an "o" or an "O" in the column to the right of the "Override: " column, and enter your new values over the old ones. After pressing "calculate", the boxes will turn red to notify you that those ages were overridden. For example:

Exaples of the override feature

The new values will still be averaged in to the overall section age and copied into the "age calculate" sheet as normal. The section age ranges cannot be overridden (a limitation of excel), so in order to change that value, override any of the current age equivalencies, and the section average will be updated.