如果语句检查宏中的Excel单元格

时间:2014-09-19 11:17:32

标签: excel

我正在尝试执行一个If语句来检查某个给定的单元是否存在(某些是否合并)并且其值不同于' - ',执行一个语句,在本例中是一个查询。 如果不满足条件,则不执行查询

CellStr = Range("C3").Text
If CellStr <> "-" Then
Set rs = conn.Execute("QUERY")
End If

我提供的代码在单元格具有值' - '(查询未执行)时起作用,但在单元格不存在时不起作用(查询执行并重新执行0)

如何针对此问题保护If声明?

1 个答案:

答案 0 :(得分:0)

在检查单元格中的值/文本之前,检查单元格是否存在(即未被合并单元格覆盖):

Sub test()

    Dim c As Range
    Set c = Range("C3") 'Set the cell

    'Check if the cell exists, i.e. is not covered by merged cells
    If c.MergeArea.Cells(1, 1).Address = c.Address Then

        'Check if the cell text is different from "-"
        If c.Text <> "-" Then

            'Execute something
            MsgBox "Put your statement here"

        End If

    End If

End Sub

致以最诚挚的问候,

西蒙