VBA 总和范围包括变体

VBA Sum Range including Variant

所以我将 myValue 定义为输入值,但现在我想将输入值与 F39:41 的总和相加。

Dim myValue As Variant

    myValue = InputBox("Enter Value", "Enter Value in £'s", "£")
    Range("B7").Formula = "=Sum(F39:F41)" + CInt(myValue)

Range("B7").Value = myValue 工作得很好,但如果我希望在公式中也包含 sum F39:41 它会失败。我已经尝试将其作为 CInt 的公式,但仍然无法正常工作。有什么想法吗?

谢谢

要输入您将使用的公式:

Range("B7").Formula = "=Sum(F39:F41)+" & CInt(myValue)
Range("B7").Value = evaluate("=Sum(F39:F41)") + CInt(myValue)

我做你想要的:

Dim myValue As Variant

myValue = InputBox("Enter Value", "Enter Value in £'s", "£")
Range("B7").Formula = "=Sum(F39:F41)  +" & CInt(myValue)

InputBox 返回的值为字符串,因此无需转换为整数即可将其添加到公式中。此外,您可能想检查用户是否没有取消输入:

Dim userInput As String
userInput = InputBox("Enter Value", "Enter Value in £'s", "£")
If Len(userInput) Then
  Range("B7").Formula = "=Sum(F39:F41)+" & userInput
End If