我偶然发现了一个名为“go figure!”的新谜题。在当地报纸上。我目前在网上找不到任何东西,但它与sudoko类似,但有数学操作员。 您将获得一个要使用的数字列表,您必须填写空白。 例如: 第一行是_ / _ + _ = 10
我在小区D4 a /和小区F4 a +
我的vba代码
Dim OPR11, OPR12, as String
然后再往下我
OPR11 = Cells(4, 4).Value
OPR12 = Cells(4, 6).Value
所以在这种情况下OPR11 = /和OPR12 = +
接下来,我设置一个带有数字的数组,然后执行下一个for循环,如下所示:
For Each rng3 In vArray
For Each rng2 In vArray
For Each rng1 In vArray
If rng1 & OPR11 & rng2 & OPR12 & rng3 = R1A Then
DO CODE
end if
next rng1
next rng2
next rng3
你可以看到很多,我的If
功能无效。显然,我不能CONC
将mathamatical运算符纳入公式并使其有效。
我应该怎样做才能让它发挥作用? 感谢
答案 0 :(得分:2)
我认为您需要使用Evaluate()
来计算公式表达式。
例如
使用 CTRL + G 启用立即窗口
并运行代码
Option Explicit
Sub Main()
Dim c4 As Range
Dim d4 As Range
Dim e4 As Range
Dim f4 As Range
Dim g4 As Range
Set c4 = Cells(4, 3)
Set d4 = Cells(4, 4)
Set e4 = Cells(4, 5)
Set f4 = Cells(4, 6)
Set g4 = Cells(4, 7)
Dim answer As Double
answer = Evaluate("=" & c4 & d4 & e4 & f4 & g4)
Debug.Print "The formula evaluates to: " & Evaluate("=" & c4 & d4 & e4 & f4 & g4)
Cells(4, 9) = answer
End Sub