VBA-根据另一个单元格的值填充单元格值(代码不起作用)

时间:2019-01-11 14:47:47

标签: excel vba

我尝试编写以下代码,因此取决于单元格工作表“ 2. Survey”单元格f11中的值,然后我希望“ yes”或否值出现在当前选项卡单元格e59中(当前选项卡-3。单位规格)。我目前遇到运行时错误9,但不知道为什么。 (可能做了一些愚蠢的事情)

 Worksheets("3.Unit Specification").Range("e59").Formula = "=IF('2. 
 Survey'!F11=""Mains"",""Yes"","")"

运行时错误9是我当前的问题,我只希望单元格e59的值为yes或不具有任何值(尽管这是一个下拉框,并且该值与列表完全匹配,所以不知道是否导致出现问题)。

1 个答案:

答案 0 :(得分:1)

您需要将所有引号加倍。您错过了最后一对。

Worksheets("3.Unit Specification").Range("e59").Formula = _
                             "=IF('2. Survey'!F11=""Mains"",""Yes"","""")"

编辑

'Non-formula approaches

If Worksheets("2. Survey").Range("F11").Value = "Mains" Then
    Worksheets("3.Unit Specification").Range("e59").Value = "Yes"
Else
    Worksheets("3.Unit Specification").Range("e59").Value = ""
End If

'OR

Worksheets("3.Unit Specification").Range("e59").Value = IIf(Worksheets("2. Survey").Range("F11").Value = "Mains", "Yes", "")