为什么这个VBA给我一个1004的错误

问题描述:

我在这里尝试了几种不同译文为一些我认为应该工作:为什么这个VBA给我一个1004的错误

Sheets(Sheet1.Name).Range("Q2").Value = "=IF($H2="""","""",IF($L2=""Successful"",0,IF($O2="""",""Error"",!$O2)))" 

Sheets(Sheet1.Name).Range("Q2").Formula = "=IF($H2="""","""",IF($L2=""Successful"",0,IF($O2="""",""Error"",!$O2)))" 

Sheets(Sheet1.Name).[Q2].Formula = "=IF($H2="""","""",IF($L2=""Successful"",0,IF($O2="""",""Error"",!$O2)))" 

Dim Data As Worksheet 
Set Data = ThisWorkbook.Sheets(Sheets1.Name) 
Data. (all of the above after the sheets part) 

不管我做什么,这给出了一个1004的错误。我究竟做错了什么?

+0

删除所有引号并在字符串中需要引号时使用chr(34)。这是非常难以阅读。您还应该指出哪一行发生了错误。 – Sorceri

+0

'设置数据= ThisWorkbook.Sheets(Sheets1.Name)'担心我 - 在其他地方使用代码名为Sheet1的工作表,但在本声明中您使用的代码名为'Sheets1'的表单 - 是错字?并且,FWIW假设代码名为Sheet1的工作表位于ActiveWorkbook中,则Sheets(Sheet1.Name)。与Sheet1相同。 – YowE3K

+0

没有,这只是我试图让公式发挥作用的另一种方式。这些是我尝试使用它的多种方式。 – Shenanigator

它似乎是“!”之前“$ O2”。

+0

哇;我甚至不能相信我读了100行,并没有注意到这一点。现在它给91;我想这是由于$ – Shenanigator