Vba 左功能不工作
Vba Left Function not working
我试图删除字符串的最后一个字符,因为我用一个循环填充字符串,该循环会在添加每个新字符串后自动添加一个“,”,例如:
Do Until EOF(1)
...
(get string)
...
Ref = Ref + String
Ref = Ref + ","
Loop
Ref = Left(Ref, Len(Ref) - 1) (Delete last "," of ref)
尝试 运行 时,我在 LEFT 函数上遇到 "Wrong number of arguments or invalid property assignment" 错误。
我已尝试研究此错误,但我唯一能找到的是关于工具引用丢失的问题,但据我所知它们并没有。
我找到的线程都是 vba 的 excel,这里不是这种情况,这是反射工作区中脚本 运行ning 的代码。
是否有另一种删除字符串最后一个字符的方法?还是有什么错误导致了这个错误?我似乎无法弄清楚这一点。
感谢您的宝贵时间。
与其做错事然后试图挽回,不如从一开始就防止错误发生?
发现循环的第一个 运行 比最后一个要容易得多:
Dim first as Boolean
first = True
Do Until EOF(1)
...
(get string)
...
If first Then
first = False
Else
Ref = Ref + ","
End If
Ref = Ref + String
Loop
不确定为什么 left
函数不起作用,这是正确的语法,假设 Ref
实际上是一个字符串。我怀疑您没有提供真实代码这一事实向我们隐瞒了原因。
请记住,该错误消息中有 两个 子句:
Wrong number of arguments OR invalid property assignment.
This page 详细说明了可能的原因。
在任何情况下,只做类似(类似于您自己的伪代码)的事情会更容易:
sep = ""
ref = ""
do until eof(1)
string = getString()
ref = ref + sep + string
sep = ","
loop
换句话说,先创建正确的字符串,而不是事后尝试修复它。
我试图删除字符串的最后一个字符,因为我用一个循环填充字符串,该循环会在添加每个新字符串后自动添加一个“,”,例如:
Do Until EOF(1)
...
(get string)
...
Ref = Ref + String
Ref = Ref + ","
Loop
Ref = Left(Ref, Len(Ref) - 1) (Delete last "," of ref)
尝试 运行 时,我在 LEFT 函数上遇到 "Wrong number of arguments or invalid property assignment" 错误。
我已尝试研究此错误,但我唯一能找到的是关于工具引用丢失的问题,但据我所知它们并没有。 我找到的线程都是 vba 的 excel,这里不是这种情况,这是反射工作区中脚本 运行ning 的代码。
是否有另一种删除字符串最后一个字符的方法?还是有什么错误导致了这个错误?我似乎无法弄清楚这一点。
感谢您的宝贵时间。
与其做错事然后试图挽回,不如从一开始就防止错误发生?
发现循环的第一个 运行 比最后一个要容易得多:
Dim first as Boolean
first = True
Do Until EOF(1)
...
(get string)
...
If first Then
first = False
Else
Ref = Ref + ","
End If
Ref = Ref + String
Loop
不确定为什么 left
函数不起作用,这是正确的语法,假设 Ref
实际上是一个字符串。我怀疑您没有提供真实代码这一事实向我们隐瞒了原因。
请记住,该错误消息中有 两个 子句:
Wrong number of arguments OR invalid property assignment.
This page 详细说明了可能的原因。
在任何情况下,只做类似(类似于您自己的伪代码)的事情会更容易:
sep = ""
ref = ""
do until eof(1)
string = getString()
ref = ref + sep + string
sep = ","
loop
换句话说,先创建正确的字符串,而不是事后尝试修复它。