这似乎是我应该能够弄清楚的东西,但是,我为此感到挣扎。
我尝试将范围设置为变量,然后在方程式中引用该范围。变量虽然采用单元格的当前值。您可能从昨天开始就认识到这一点。我已经开始使用它了,但是有人说我应该将变量称为范围,这就是我遇到的问题。
Dim Sacc, GSacc As Range
'I want this to refer to the range, that is happening is Sacc = "Test Cell"
Set Sacc = Sheets(2).Range("F4")
Sacc.Select 'this works
'run-time error 1004
ActiveCell.Offset(1).Formula = "=IF('" & Sacc & " = """",""LMonth not done"",""LMonth Done"")"
答案 0 :(得分:0)
认为您需要引用单元格的地址。您不需要首先选择单元格,并且应该在每个声明之后添加变量类型。在您的代码中,Sacc
被声明为variant
。
Sub x()
Dim Sacc As Range, GSacc As Range
Set Sacc = Sheets(2).Range("F4")
Sacc.Offset(1).Formula = "=IF(" & Sacc.Address & " = """",""LMonth not done"",""LMonth Done"")"
End Sub
答案 1 :(得分:0)
您可以使用R1C1表示法并简化代码
您不想选择任何内容
如下。
Sheets(2).Range("F5").Formula = "=IF(R[-1]C = """",""LMonth not done"",""LMonth Done"")"
您还可以使用ISBLANK()
excel函数测试空单元格:
Sheets(2).Range("F4").Offset(1).Formula = "=IF(ISBLANK(R[-1]C),""LMonth not done"",""LMonth Done"")"