Vba 将公式添加到单元格错误

Vba 将公式添加到单元格错误,vba,excel,Vba,Excel,我有这个问题,它让我发疯。可能很容易修复,但我不知道我做错了什么 我有以下代码,可以基于工作簿中的另一个工作表创建新工作表 复制工作表不是问题,但我还需要将此工作表添加到概览工作表中,在概览工作表中,我使用公式查看工作表是否处于活动状态 代码如下: 'Create new worksheet Sheets("Leeway").Copy after:=Sheets("Leeway") Set WS = ActiveSheet WS.Name = "Leeway " & ddCountrie

我有这个问题,它让我发疯。可能很容易修复,但我不知道我做错了什么

我有以下代码,可以基于工作簿中的另一个工作表创建新工作表

复制工作表不是问题,但我还需要将此工作表添加到概览工作表中,在概览工作表中,我使用公式查看工作表是否处于活动状态

代码如下:

'Create new worksheet
Sheets("Leeway").Copy after:=Sheets("Leeway")
Set WS = ActiveSheet
WS.Name = "Leeway " & ddCountries.Value

'Add new worksheet to Control sheet
Dim c As Range
Set c = Sheets("Control Sheet").Range("H5")
Do Until c.Value = ""
    Set c = c.Offset(1, 0)
Loop

c.Value = WS.Name
c.Offset(0, 1).Formula = "=IF('" & WS.Name & "'!L42<>"""";""Active"";""Inactive"")"
创建新工作表 工作表(“回旋余地”)。复制后:=工作表(“回旋余地”) 设置WS=ActiveSheet WS.Name=“Leeway”&ddCountries.Value '将新工作表添加到控制表 调光范围 组c=板材(“控制板材”)。范围(“H5”) 直到c.Value=“”为止 设置c=c.偏移量(1,0) 环 c、 Value=WS.Name c、 偏移量(0,1).Formula=“=IF(”&WS.Name&“!L42”“;“活动”“非活动”) 在添加公式的最后一行,给出了以下错误:“1004:应用程序定义或对象定义错误”

我在手表上加了这个公式,它给出了正确的公式


我做错了什么?

在VBA代码中,您必须使用
而不是
对于要放入单元格的
.Formula
,在VBA代码中,必须使用
而不是
.Formula
放入单元格

是的,你太棒了!我知道它很容易修复,只是不知道在哪里可以找到错误。非常感谢你!如果需要在活动和非活动之间使用双引号,请在MatthewD和change
中使用“=If”(&ws.name&“!L42”&“&”&“&”&“&”&“&”&“&”&“活动”&“&“&”、“&”&“非活动”&“&”&“&”)@MatthewD和change
;)但是RobK做的qoutes是正确的哦是的对。。我看了看字符串格式,没有看到明显的内容。你太快了,我还没被允许接受答案——我不知道为什么会有时间限制。不管怎样,我现在已经接受了你的回答。谢谢你的评论,马修德,但我的问题已经以更干净的方式解决了。是的,你太棒了!我知道它很容易修复,只是不知道在哪里可以找到错误。非常感谢你!如果需要在活动和非活动之间使用双引号,请在MatthewD和change
中使用“=If”(&ws.name&“!L42”&“&”&“&”&“&”&“&”&“&”&“活动”&“&“&”、“&”&“非活动”&“&”&“&”)@MatthewD和change
;)但是RobK做的qoutes是正确的哦是的对。。我看了看字符串格式,没有看到明显的内容。你太快了,我还没被允许接受答案——我不知道为什么会有时间限制。不管怎样,我现在已经接受了你的回答。谢谢你的评论,马修德,但我的问题已经以一种更干净的方式解决了。也可能,还有更多:)也可能,还有更多:)