Excel 选择行后打开InputBox
我有一个简单的宏,当选择范围中的一个单元格时,它会打开一个输入框:Excel 选择行后打开InputBox,excel,vba,inputbox,Excel,Vba,Inputbox,我有一个简单的宏,当选择范围中的一个单元格时,它会打开一个输入框: Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Application.Intersect(Target, Range("H18:H" & Worksheets("LookUpLists").Cells(2, "N").Value - 1)) Is Nothing Then UserForm1.Show End If
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("H18:H" & Worksheets("LookUpLists").Cells(2, "N").Value - 1)) Is Nothing Then
UserForm1.Show
End If
End Sub
我面临的问题是,当我选择整行时,InputBox也会打开
您知道如何避免这种情况吗?检查单元格的数量:
If Not Application.Intersect(Target, Range("H18:H" & _
Worksheets("LookUpLists").Cells(2, "N").Value - 1)) Is Nothing And _
Target.Cells.Count = 1 Then '// <~~ Check number of cells selected is 1
Userform1.Show
End If
如果不是应用程序。相交(目标、范围(“H18:H”)和_
工作表(“LookUpLists”).Cells(2,“N”).Value-1)为空且_
Target.Cells.Count=1,则“/如果要允许所有选择(1个或更多)不是整行,则应该这样做
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim bEntireRow as Boolean
With Target
bEntireRow = .Address = .EntireRow.Address
'/ Excel evaluates (.Address = .Entirerow.address) as a Boolean True/False and assigns it to bEntireRow
End With
If bEntireRow = false and Not Application.Intersect(Target, Range("H18:H" & Worksheets("LookUpLists").Cells(2, "N").Value - 1)) Is Nothing Then
UserForm1.Show
End If
End Sub