有没有办法阻止用户一次选择多个单元格(防止多选多个单元格)?
注意:这不是this question的副本。用户正在从输入框中进行选择。我试图阻止他们通过鼠标(或键盘+ Shift键)直接从工作表中进行操作。
答案 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