VBA Long 变量在 Do While 循环期间不断重置?

VBA Long variable keeps resetting during a Do While loop?

我正在 Excel 中编写一些代码来扫描一行中的特定值,然后获取该值的单元格地址。

lngCol = 0

search_start = "D1"

Do While current_week <> week_one
    lgnCol = lngCol + 1
    current_week = Range(search_start).Offset(0, lngCol)
Loop

wk_one_col = current_week.Address
Debug.Print wk_one_col

代码大部分工作正常,我没有收到任何错误,但 lngCol 变量没有按应有的方式递增。

在循环中,lngCol在第一个循环后始终为1,lngCol+1是在变量的原始值(即零)上加1。

我不明白的是,每个循环都应该递增它。所以第一个循环,它将 1 加到零,将 lngCol 设置为 1。第二个循环,它将另一个 1 加到 1,使其成为 2.

我有另一个基于这个想法的功能,它按预期工作。每个循环 lngCol 变量递增 1。

我知道我知道我需要变量本身超出循环范围,否则它每次都会将自身重置为零。我哪里错了?

感谢所有发表评论的人。这里的问题是我在递增行中拼错了变量名:

lgnCol = lngCol + 1

应该是:

lngCol = lngCol + 1