我们是否有任何解决方案可以使此代码正常工作,
Sub FindSum()
Dim Euro1 As String
Euro1 = InputBox("", "")
ActiveCell.FormulaR1C1 = "=RC[-1]*" & Euro1.Value
End Sub
预期: 此代码将从字段中选择值,并将其与Inputbox中提供的值相乘。
答案 0 :(得分:5)
Dim Euro1 As String
您将Euro1
声明为String
。字符串是VBA中的原始类型,原始类型没有可以调用的成员,这意味着:
Debug.Print Euro1.Value
是非法的。
如果您有String
,则可以直接使用它:
ActiveCell.FormulaR1C1 = "=RC[-1]*" & Euro1
这肯定会引起其他问题:您需要阅读用户输入验证。系统地将用户输入视为有效的代码总是会遇到问题。在这里,我们看到Excel无法计算=RC[-1]*Hi There I'm some invalid input
的值。
如果您想将字符串用作数字,请考虑使用IsNumeric
内置函数来确定字符串是否包含可被视为数字的值。
If IsNumeric(Euro1) Then
ActiveCell.FormulaR1C1 = "=RC[-1]*" & Euro1
Else
MsgBox "Invalid input!"
End If
答案 1 :(得分:0)
var listener = new BroadcastChannel('listener');
listener.postMessage('It works !!');
尝试:)