excel - 在 VBA 中创建一个跨越工作表的范围?

标签 excel vba

我正在尝试制作一个跨越几张纸的范围,即他们所说的 3-D 引用。 Here is MS's example如何手动完成。好吧,我需要用代码来做(不,我不能使用表格公式)。所以我做了...

Set m1 = Sheets("Sheet1").Cells(1, 1)
Set m2 = Sheets("Sheet2").Cells(3, 1)
Set m3 = Union(m1, m2)

但是,这会返回可怕的“1004”错误,就像我尝试过的所有其他语法一样。然后我尝试通过换档选择多张纸并使用它来手动执行此操作...
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    MsgBox "range address: " & Target.Address
End Sub

这总是只返回 ActiveSheet 上的选择部分。

那么,有没有办法制作一个跨越工作表的范围?

最佳答案

一个 Range对象只能是单个工作表上的一组单元格。但是您可以创建一个 数组 范围或 收藏 可以跨越多个工作表的范围。

关于excel - 在 VBA 中创建一个跨越工作表的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47797440/

相关文章:

excel - 应用匹配功能如何复制粘贴数据

vba - 将excel中的工作表保存到另一个excel

excel - 将文本文件数据提取到工作表

excel - 将预览悬停在 Excel 图像链接上

vba - 工作表选择功能

vba - 单元格内容自动移动到另一张纸上的同一单元格

VBA : Performance on 24-deep nested IF statement

vba - 有没有办法设置一个变量一次并在多个地方使用它而不给它模块级别的范围?

java - java创建excel表格的问题

r - 使用 R 和 Openxlsx 将数据框列表输出为单个 Excel 文件中的工作表