vba中关于for嵌套循环和单循环中step值的改变!该怎么解决

vba中关于for嵌套循环和单循环中step值的改变!!!
单循环代码:For i = 5 To 19 Step i
  If sheetThird.Cells(i, 1).Mergecells = True Then
  i = i + sheetThird.Cells(i, 1).MergeArea.Count
  End If
  Next
  这样会把我第一列中所有的合并单元格都给遍历到。
嵌套循环代码:For m = 6 To 17 Step m
  For i = 5 To 19 Step i
  If sheetThird.Cells(i, 1).Value = sheetOne.Cells(m, 11).Value Then
  MsgBox "相同"
  Exit For
  Else
  MsgBox "不相同,继续遍历"
  i = i + sheetThird.Cells(i, 1).MergeArea.Count
  End If
  Next
  m = m + sheetOne.Cells(m, 11).MergeArea.Count
  Next
  这样第一列中的第二个单元格遍历不到,在第二次循环的时候,第一次的步长为2的话,i的值应该为7,但是为什么为12?莫名其妙的多了5,是因为For i = 5 To 19 Step i的时候i=i+5?


跪求高手帮忙解决嵌套循环中step问题!!!急!急!急!

------解决方案--------------------
For i = 5 To 19 Step 2

------解决方案--------------------
探讨

这个step是个变化的,比如我几个合并单元格所占有的行数为2,5,3,5。第一次的是应该从5开始,第二次的是应该从5+2开始,第三次的时候应该从5+2+3开始···以此类存,你这样的话你是写死了步长为2!跪求解决!!

------解决方案--------------------
For m = 6 To 17 Step m
该句编译后m是做为常量对待,在循环体中修改m,对于step m是无效的,并且step m中的m的确定是在m=6之前!