Sir*_*een 6 excel vba excel-vba
我试图将多个非连续范围的值复制到一个数组中.我写了这样的代码:
summaryTempArray = .range("A2:D9,A11:D12,A14:D15").Value
Run Code Online (Sandbox Code Playgroud)
但它只复制第一部分(A2:D9).然后,我尝试了以下内容,我得到错误 - "对象_全局失败的方法联盟" - 我使用联合的方式有什么错误吗?
summaryTempArray = Union(.range("A2:D9"), .range("A11:D12"), .range("A14:D15")).Value
Run Code Online (Sandbox Code Playgroud)
Joo*_*ook 10
不知道你的错误union,但它会产生相同的范围,这是你在第一次尝试时所说的.
问题是,你现在有多个领域.你可以,据我所知,你现在必须解决这个问题.
下面是一个示例,它将在所有区域的数组中解析,而不是单独添加每个单元格,而是将每个区域单独添加到摘要数组中:
Public Sub demo()
Dim summaryTempArray() As Variant
Dim i As Long
With Tabelle1
ReDim summaryTempArray(1 To .Range("A2:D9,A11:D12,A14:D15").Areas.Count)
For i = 1 To .Range("A2:D9,A11:D12,A14:D15").Areas.Count
summaryTempArray(i) = .Range("A2:D9,A11:D12,A14:D15").Areas(i)
Next i
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
17396 次 |
| 最近记录: |