vba 在不打开表格的情况下获取不连续的不同工作薄单元格值
时间: 2024-03-08 09:48:16 浏览: 15
要在不打开工作簿的情况下获取不连续的不同工作表单元格的值,可以使用VBA中的`Workbook`对象和`Range`对象的Value属性。以下是一个示例代码:
```
Sub GetDiscontinuousRangeValues()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\example.xlsx") '打开工作簿
Dim rng1 As Range
Set rng1 = wb.Worksheets("Sheet1").Range("A1,B2") '获取Sheet1中的A1和B2单元格的值
Dim rng2 As Range
Set rng2 = wb.Worksheets("Sheet2").Range("C3:E5,G8") '获取Sheet2中的C3到E5和G8单元格的值
Debug.Print rng1.Value '输出Sheet1中的A1和B2单元格的值
Debug.Print rng2.Value '输出Sheet2中的C3到E5和G8单元格的值
wb.Close SaveChanges:=False '关闭工作簿,不保存更改
End Sub
```
上述代码将获取指定工作簿中Sheet1的A1和B2单元格,以及Sheet2中的C3到E5和G8单元格的值,并在Immediate Window窗口中输出这些值。请注意,为了获取不同工作表中的值,您需要在代码中指定正确的工作表名称和单元格地址。在代码执行完毕后,工作簿将自动关闭且不保存更改。