当在特定列中选择单元格时,在没有错误消息时执行某些操作

时间:2014-12-19 17:34:16

标签: excel vba excel-vba

您好我正在尝试执行以下代码

Do while (the selected cell is in the column b)
Code...

End Loop
Message error

当我在所选单元格不在列中时单击按钮b要显示错误消息

2 个答案:

答案 0 :(得分:0)

如果选择了单个单元格,则可以使用以下语句获得所需的结果:

' get the column number
col = Selection.Column()

列“B”对应于列号2.如果选择不在第2列中,则弹出错误消息(根据您的要求)。

希望这会有所帮助。

答案 1 :(得分:0)

根据您的评论,您可以尝试以下内容:

Dim r As Range

'assign the selection to a variable
'but make sure it is a range
If TypeName(Selection) = "Range" Then Set r = Selection

'check if something is assigned to r; meaning a range is selected
If Not r Is Nothing Then
    'check if it is somewhere in Column B
    If Not Intersect(r, Sheets("Sheet1").Range("B:B")) Is Nothing Then
        'do your stuff here
    Else
        'your error message here
        MsgBox "Invalid Selection", vbCritical
    End If
End If

以上代码使用MsgBox作为您的错误消息 这是你正在尝试的吗? HTH。