Q:

For Loop Counter in VBA increments by one extra

I have a simple loop counter which I expected to msg me 1,2,3...10.  Instead I get 1,3,5,7,9and I can't figure out where this extra increment is coming from.  I'm a bit rusty after layoffs so bear with me if this seems simple. 
here is my code:
Dim x As Integer

For x = 1 To 10
    MsgBox x
    x = x + 1
Next x

A:

It is typical that a for loop in most programming languages will automatically increment or iterate through something.  In most languages, it's also common to provide a way to specify the increment amount.  This is the case in VBA—see VBA For...Next documentation.  For example:
For i = 1 to 20 Step 2
 'do something
next i

Your code is incrementing x, and For is also incrementing x. There are times when you want to increment the counter within the loop if some special condition is met, but not on every loop. 
If you want to manually increment, then you should use a while loop instead. 

A:

The Next x line, when referring to an integer (x) in a For loop, will increment x by 1
If you would like to increment by more than one, or increment in a negative direction you could use step at the end of the For line, which provides direction to the Next portion.  Example:
For x = 10 to 0 step -1
msgbox x
next x

will result in 11 consecutive msgbox's displaying:
10
9
8
7
6
5
4
3
2
1
0

