阻止用户一次选择多个单元格

时间:2016-10-20 23:52:02

标签: excel vba excel-vba

有没有办法阻止用户一次选择多个单元格(防止多选多个单元格)?

注意:这不是this question的副本。用户正在从输入框中进行选择。我试图阻止他们通过鼠标(或键盘+ Shift键)直接从工作表中进行操作。

2 个答案:

答案 0 :(得分:0)

我用谷歌搜索" excel vba防止多个细胞选择"第一次打击是确切的答案。 http://www.ozgrid.com/forum/showthread.php?t=46473 将此代码放在要限制的工作表中,而不是模块

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    '>> Prevent user from multiple selection before any changes:

    If Selection.Cells.Count > 1 Then 
        MsgBox "Sorry, multiple selections are not allowed.", vbCritical 
        ActiveCell.Select 
        Exit Sub 
    End If 

End Sub 

答案 1 :(得分:0)

这里是我用来确保选择单个单元格的方法,如果目标是范围,则将选择右上角的单元格。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim strTemp As String
    ' check if the selected range is more than one cell
    If Target.Rows.Count = 1 And Target.Columns.Count = 1 Then
        ' do something here
    Else
        strTemp = Left(Target.Address, InStr(1, Target.Address, ":") - 1)
        If Not IsNumeric(Right(strTemp, 1)) Then strTemp = strTemp & "1"
        If IsNumeric(Mid(strTemp, 2, 1)) Then strTemp = "A" & strTemp
        Me.Range(strTemp).Select
        ' do something here
    End If
End Sub