Yes, but not exactly -- depends on what you mean by 'right' -- see Logit's post and links, esp the part about variables not explicitly Dim-ed as a specific type
To ensure that the macro works as intended, I think (IMVHO) it's better defensive programming to explicitly Dim everything, even on one line
Dim x as Integer, LastRow as Integer, i As Integer
That way later in the macro if I make a mistake and use
.....
LastRow = "Done"
.....
LastRow = LastRow + 1
I'll get a message on the assignment line since "Done" cannot convert to a number