gpt4 book ai didi

vba - 将数字添加到文本时出错

转载 作者:行者123 更新时间:2023-12-03 00:09:14 26 4
gpt4 key购买 nike

我可以循环使用数字,但使用文本时 Do While 不会循环。

Dim i As Integer
i = 1

Do While Cells(i, 1).Value <> ""
Cells(i, 2).Value = Cells(i, 1).Value + 1
i = i + 1
Loop

我该如何实现这个?

最佳答案

您可以像这样循环,并且在涉及 VBA 语法时不会出现任何错误。唯一的问题是表达式:

Cells(i, 1).Value + 1

Cells(i, 1).Value 无法转换为数字时,将引发运行时错误。很简单,当 Cells(i, 1).Value 是像“abcd”这样的字符串时,您会出现类型不匹配,您无法将该变体转换为数字命令将 1 添加到其中。

在这种情况下,不是宏代码的错误,而是数据的错误。

要处理异构数据,您可以检查某个值是否为数字,然后再将其作为数字进行操作,如下所示:

Do While Cells(i, 1).Value <> ""
If IsNumeric(Cells(i, 1).value) then Cells(i, 2).Value = Cells(i, 1).Value + 1
' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
i = i + 1
Loop

关于vba - 将数字添加到文本时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42929019/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com