我正在遍历各列,并将它们存储在值s和s1中。我需要为尝试使用j索引的行添加任意数量的计数顺序。一直这样获取图片:
预期结果应如下:
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 <> ""
答案 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