无法正确索引新行

时间:2019-02-19 10:17:26

标签: excel vba

我正在遍历各列,并将它们存储在值s和s1中。我需要为尝试使用j索引的行添加任意数量的计数顺序。一直这样获取图片:

Current result

预期结果应如下:

enter image description here

s = ""
s1 = ""
j = 1
Do            
s = j & ". " & s & Workbooks(Filename).Sheets(1).Cells(i, 2).Offset(1, 0).Value & vbCrLf
s1 = j & ". " & s1 & Workbooks(Filename).Sheets(1).Cells(i, 3).Offset(1, 0).Value & vbCrLf
i = i + 1
j = j + 1            
Loop While Workbooks(Filename).Sheets(1).Cells(i, 3).Value <> ""

1 个答案:

答案 0 :(得分:1)

代码应像这样递增:

s = s & j & ". " & Cells(i, 2).Offset(1, 0) & vbCrLf

因此,s值在其自身上递增。

通常,每当出现此类问题并且很难理解为什么要格式化字符串时,请尝试逐步调试。例如,在代码上写Stop并打印该字符串,直到现在仍然可用。像这样:

Do
    s = s & j & ". " & Cells(i, 2).Offset(1, 0) & vbCrLf
    s1 = j & ". " & s1 & Cells(i, 3).Offset(1, 0) & vbCrLf
    i = i + 1
    j = j + 1
    Debug.Print s
    Stop
Loop While Cells(i, 3) <> ""

然后魔术变得更容易理解。按下 F8 并在VBE中将它们悬停在其上来检查当前值是逐步调试的另一种选择。

Debugging VBA, Locating Problems, and Troubleshooting Methods