Excel宏可更改单元格值并根据其他单元格值禁用列

时间:2014-04-16 10:07:42

标签: excel vba excel-vba

如果单元格1具有值A1,则单元格2应具有值B1,并且应禁用列H.

如果单元格1具有值A2,则单元格2应具有值B2,并且不应禁用列H.

这是代码,但不知何故它不适用于值“A1”。

Private Function func1(pVal as String) as String
If pVal = "A1"
func1="B1"
Worksheets("Sheet1").Range("H1:h100").Locked=True
ElseIF pVal="A2"
func1="B2"
EndIF
End func1

当用户在调用1中选择“A1”时,我在单元格2中收到错误#value。

1 个答案:

答案 0 :(得分:0)

工作表单元格中使用的函数只能返回值,而不能锁定或解锁任何内容。没有 sub 的最好的哟是:

Public Function func1(pVal As String) As String
    func1 = "What Ever"
    If pVal = "A1" Then
        func1 = "B1"
    Else
        If pVal = "A2" Then
            func1 = "B2"
        End If
    End If
End Function