excel - 将工作簿子限制为跨工作表的范围数组
问题描述
如何将工作簿子限制为跨工作表的范围数组?我曾想过使用标签,但我只能Continue:
用第一个范围触发。
Private Sub Workbook_SheetBeforeDoubleClick(ByVal sH As Object, ByVal Target As Range, Cancel As Boolean)
Dim rIncl(1) As Range, i As Integer, r As Range
Set rIncl(0) = Range("Table1[Column1]"): Set rIncl(1) = Range("Table2")
For i = 0 To 1
For Each r In rIncl(i)
If r.Parent Is sH Then
If Not Intersect(Target, r) Is Nothing Then GoTo Continue:
Else: Exit Sub
End If
Next
Next
Continue:
解决方案
这应该有效:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal sh As Object, _
ByVal Target As Range, _
Cancel As Boolean)
Dim rIncl(1) As Range, i As Long, r As Range
'example ranges to check
Set rIncl(0) = Range("Table1[Column1]")
Set rIncl(1) = Range("Table2")
For i = LBound(rIncl) To UBound(rIncl)
If rIncl(i).Parent.Name = sh.Name Then 'same sheet?
Set r = Nothing
Set r = Application.Intersect(Target, rIncl(i))
If Not r Is Nothing Then
'found a match: do something with r
Debug.Print r.Address
Exit For 'unless ranges might be overlapping
End If
End If
Next i
End Sub
推荐阅读
- laravel - Laravel:从 Blade 文件中的 javascript 重定向而不使用路由名称
- jekyll - Codekit 和 Jekyll 问题
- neo4j - 我可以查看新关系而不在 neo4j 中实际创建关系吗?
- database - 是否可以使用 Azure Active Directory 对使用 Windows 身份验证的本地数据库进行身份验证?
- sql - 编写脚本以在表中创建记录以维护时间段
- haskell - 强类型(newtype)泛化
- python - 在Python中打印列表中指定数量的项目
- windows - 在 Docker 构建中运行 POWERSHELL cmd 失败并出现错误 - “返回非零代码:3221226505”
- python - TypeError:添加的层必须是类Layer的实例。找到:张量(“concatenate_6/concat:0”,形状=(无,4608),dtype=float32)
- python - pyqtgraph 中有没有办法设置例如 FillBetweenItem 的级别?