VBA:使用Inputbox中的值进行乘法运算

时间:2017-12-28 17:38:26

标签: excel vba excel-vba

我们是否有任何解决方案可以使此代码正常工作,

 Sub FindSum()
    Dim Euro1 As String
    Euro1 = InputBox("", "")
        ActiveCell.FormulaR1C1 = "=RC[-1]*" & Euro1.Value
End Sub

预期: 此代码将从字段中选择值,并将其与Inputbox中提供的值相乘。

2 个答案:

答案 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 !!');

尝试:)