gpt4 book ai didi

excel - VBA,为什么粘贴我的数组只粘贴一个单元格

转载 作者:行者123 更新时间:2023-12-04 22:19:27 25 4
gpt4 key购买 nike

我将所有值放入一个数组中,我想将其粘贴到另一个工作簿中。
这怎么行不通?它只是粘贴目标工作簿的单元格 A2。我必须选择整个范围来粘贴它吗?
根据这里的答案,答案只是粘贴到一个单元格。
Save range to variable

Dim src As Variant
Application.ScreenUpdating = False
Application.DisplayAlerts = False

'Open CM comm file
Set MainDataCM = Workbooks.Open(Sheets("Input").Range("B3") & Sheets("Input").Range("B6"))

'Copy main data tab to EPM file workbook
With Sheets("Main Data")
lastrow = Sheets("Main Data").Range("A" & .Rows.Count).End(xlUp).Row
src = Sheets("Main Data").Range("A2:P" & lastrow).Value
End With
MainDataCM.Close SaveChanges:=False

'Paste into active workbook
Set MainDataCIB = Workbooks.Open(ThisWorkbook.Sheets("Input").Range("B3") & Sheets("Input").Range("B9"))
With Sheets("Main Data")
lastrow = Sheets("Main Data").Range("A" & .Rows.Count).End(xlUp).Row
Sheets("Main Data").Range("A2:P" & lastrow).ClearContents
MainDataCIB.Sheets("Main Data").Range("A2").Value = src
End With

最佳答案

为了将数组输出到某个范围,您需要为其提供正确的输出尺寸。我发现最好的方法是使用 .Resize指定范围的属性。请参阅下面的代码。

MainDataCIB.Sheets("Main Data").Range("A2").Resize(UBound(src,1), UBound(src,2)).Value = src
这种方法将确保您为输出提供准确的尺寸。

关于excel - VBA,为什么粘贴我的数组只粘贴一个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65631798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com