Excel 检查是否选择了多个单元格
我想知道如何检查一个范围内是否有多个细胞被加速 我有3个单元格,我想检查的范围是“A:B”和“D”,我尝试这个代码,但它不适合我Excel 检查是否选择了多个单元格,excel,excel-2010,vba,Excel,Excel 2010,Vba,我想知道如何检查一个范围内是否有多个细胞被加速 我有3个单元格,我想检查的范围是“A:B”和“D”,我尝试这个代码,但它不适合我 If 3 - CountA(range) < 1 Then 如果3-计数a(范围)
If 3 - CountA(range) < 1 Then
如果3-计数a(范围)<1,则
我怎样才能用另一种方法来做呢?对于选定的范围,类似这样的操作:
If 3-Selection.Cells.Count < 1 then
如果3-Selection.Cells.Count<1,则
或者,如果您可能选择了很多单元格,请使用此单元格:
If 3-Selection.Cells.Countlarge < 1 Then
如果3-Selection.Cells.Countlarge<1,则
我想你应该尝试一下这方面的东西
Dim rng1 As Range
Set rng1 = Range("A1:B1,D1")
MsgBox 3 - rng1.Cells.Count
如果您使用的是
工作表\u更改(ByVal目标作为范围)
或工作表\u选择更改(ByVal目标作为范围)
,则使用以下代码:
If InStr(Target.Address, ":") > 0 Or InStr(Target.Address, ",") > 0 Or InStr(Target.Address, ";") > 0 Then
这将检查所选范围是否为,例如:
`A1;C1` (Cells A1 and C1 are selected) or
`E1:E4` (E1 to E4 are selected)
If InStr(MyRange.Address, ":") > 0 Or InStr(MyRange.Address, ",") > 0 Or InStr(MyRange.Address, ";") > 0 Then
有时使用“”;“
”,有时使用“”,“
”,以便我们同时检查它们
您可以使用在代码中定义的范围,而不是Target
,例如:
`A1;C1` (Cells A1 and C1 are selected) or
`E1:E4` (E1 to E4 are selected)
If InStr(MyRange.Address, ":") > 0 Or InStr(MyRange.Address, ",") > 0 Or InStr(MyRange.Address, ";") > 0 Then
很高兴您在选择所有单元格时添加了.CountLarge以防止溢出。