我想知道如何检查一个范围内是否有一个以上的单元格?
我有3个细胞我想检查范围是" A:B"还有" D",我正在尝试这个代码,但它不适合我。
If 3 - CountA(range) < 1 Then
我怎样才能以另一种方式做到这一点?
答案 0 :(得分:7)
已选择范围:
If 3-Selection.Cells.Count < 1 then
或者,如果您有可能选择了很多单元格,请使用此单元格:
If 3-Selection.Cells.Countlarge < 1 Then
答案 1 :(得分:2)
如果您使用的是Worksheet_Change(ByVal Target As Range)
或Worksheet_SelectionChange(ByVal Target As Range)
,请使用以下代码:
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)
有时使用";"
,有时使用","
,以便我们检查它们。
您可以使用您在代码中定义的范围,而不是Target
,例如:
If InStr(MyRange.Address, ":") > 0 Or InStr(MyRange.Address, ",") > 0 Or InStr(MyRange.Address, ";") > 0 Then
答案 2 :(得分:0)
我想你想尝试这些方面的东西
Dim rng1 As Range
Set rng1 = Range("A1:B1,D1")
MsgBox 3 - rng1.Cells.Count
答案 3 :(得分:0)
Dim SelectedRng As Range, SelectedRngStr As String
Set SelectedRng = Range(Target.Address) ' Or Range("A1:A2"), whatever
If SelectedRng.Cells.Count = 1 Then
SelectedRngStr = SelectedRng.Value
Else
Debug.Print "SelectedRng.Cells.Count = " & SelectedRng.Cells.Count
End If