Guides the User with Prompts to go through a procedure and Records User Input
The way you are declaring your variables isn't what you expect it to be. Luckily, you're declaring variants anyway. But if you weren't declaring Variants they would all by default be Variants.
Dim step1 as variant
Dim step2 as variant, step3 as variant

You need to give all variables a type.
You also have some superfluous variables -

step6a = InputBox(&quot;Step 6: Experiment Measurement Results Solution 1&quot;)
    Cells(21, 3).Value = step6a
step6b = InputBox(&quot;Step 6: Experiment Measurement Results Solution 2&quot;)
    Cells(22, 3).Value = step6b


Since you don't re-reference these variables later on, you can just write to the cell
.Cells(21,3) = InputBox(&quot;Step 6: Experiment Measurement Results Solution 1&quot;)
.Cells(22,3) = InputBox(&quot;Step 6: Experiment Measurement Results Solution 2&quot;)


Guiding the user
You mention you want to guide the user here. When you prompt them for input, you should tell them what type of input, and then check it's the correct Type.

 Cells(7, 3).Value = step3 - step2


This will error if there are values that aren't numerical. You can define what type you want.
You asked me

What is the Measured Actual Value?

But I didn't know if you wanted what kind of measurement or an integer. This can cause a mismatch error later on.
 step3 = Application.InputBox(&quot;Step 3: What is the Target Value Desired?&quot;, Type:=1)

Now you require me to enter a number value. You control what happens if I don't put in the expected type.

Refactoring
You see yourself doing the same thing over and over. Normally you would farm this out to a function, sending arguments and getting data back. But, you're using the InputBox which is already a function. So how to make this cleaner? Arrays!
Make yourself an input array and an output array. We know how many questions there are, so no problem.
Dim questions(1 to 21) as String
Dim answers(1 to 21) as Variant

And then populate your questions and pass them to inputbox with a type, and set each consecutive item in the answers array to the response. Then a simple loop
For i = 9 to 25
  .Cells(3,i) = answers(i-8)
Next

There are some other things you could do with your strings and whatnot, but that's up to you.

For the brave
Something like this -
Const STEP1 As String = &quot;Define the Problem.&quot;
Const STEP2 As String = &quot;What is the Measured Actual Value?&quot;
Const STEP3 As String = &quot;What is the Target Value Desired?&quot;
Const STEP4a As String = &quot;Why is &quot; &amp; questions(1) &amp; &quot; happening?&quot;
Const STEP4b As String = &quot;Why is &quot; &amp; questions(4) &amp; &quot; happening?&quot;
Const STEP4c As String = &quot;Why is &quot; &amp; questions(5) &amp; &quot; happening?&quot;
Const STEP4d As String = &quot;Why is &quot; &amp; questions(6) &amp; &quot; happening?&quot;
Const STEP4e As String = &quot;Why is &quot; &amp; questions(7) &amp; &quot; happening?&quot;
Const STEP5a As String = &quot;Step 5: Describe your First Possible Solution&quot;
Const STEP5b As String = &quot;Step 5: Describe your Second Possible Solution&quot;
Const STEP5c As String = &quot;Step 5: Describe your Third Possible Solution&quot;
Const STEP5d As String = &quot;Step 5: Describe your Fourth Possible Solution&quot;
Const STEP5e As String = &quot;Step 5: Describe your Fifth Possible Solution&quot;
Const STEP6a As String = &quot;Step 6: Experiment Measurement Results Solution 1&quot;
Const STEP6b As String = &quot;Step 6: Experiment Measurement Results Solution 2&quot;
Const STEP6c As String = &quot;Step 6: Experiment Measurement Results Solution 3&quot;
Const STEP6d As String = &quot;Step 6: Experiment Measurement Results Solution 4&quot;
Const STEP6e As String = &quot;Step 6: Experiment Measurement Results Solution 5&quot;
Const STEP7 As String = &quot;Step 7: When did you impliment a solution?&quot;
Const STEP8 As String = &quot;Step 8: Now that the solution is implemented perminently, what is the current measurement?&quot;
Const STEP9 As String = &quot;Step 9: Any other Ideas that have sprung up since you have started this nine step related to this area?&quot;

Dim questions(1 To 21) As String
questions(1) = STEP1
questions(2) = STEP2
questions(3) = STEP3
questions(4) = STEP4a
questions(5) = STEP4b
questions(6) = STEP4c
questions(7) = STEP4d
questions(8) = STEP4e
questions(9) = STEP5a
questions(10) = STEP5b
questions(11) = STEP5c
questions(12) = STEP5d
questions(13) = STEP5e
questions(14) = STEP6a
questions(15) = STEP6b
questions(16) = STEP6c
questions(17) = STEP6d
questions(18) = STEP6e
questions(19) = STEP7
questions(20) = STEP8
questions(21) = STEP9

Then you can loop through like
For i = 1 To 21
    answers(i) = InputBox(questions(i))
End Sub

But you might need a custom argument in case you need to restrict what Type the user can enter. This you cannot do with a UserForm unless you get into keypresses and whatnot.