如何从另一个工作簿复制动态范围的单元格,将其粘贴到另一个工作簿?
How to copy a dynamic range of cell from another workbook, paste it to another one?
每当第三方向我发送他输入的更新版本时,我都需要更新我的主文件。
因此,我需要将这个新输入的范围复制粘贴到我计算机上保存的工作簿中。如果 A 列中的值大于 0.For,则范围需要包括所有列和所有行,例如,在下图中,从 A1 到 A45。
我找到了一种方法 select 行并在第一个零处停止。我在我的代码 i 中调用的一侧放了一个 sumprodcut 公式。
现在,我有这个代码:
我在行 wb1.Sheets("Accounts_latest").Range("A1:BW & i").Copy
上有一个错误,我无法修复它...你有什么想法吗?
让我知道 :)
安托万
Sub CopyPaste()
Dim wb1 As Workbook
Dim wb2 As Workbook
'Open Workbook from Pepper
Set wb1 = Workbooks.Open("G:\Shared drives\Reporting\Power BI Source Files- DO NOT TOUCH\Pepper Automation\Accounts latest\Accounts updated\Accounts_latest.xlsx")
'Copy Range (Column A to BW - all filled rows)
Dim i As Integer
i = Sheets("Accounts_latest").Range("CA1").Value
wb1.Sheets("Accounts_latest").Range("A1:BW & i").Copy
'Paste to worksheet in workbook2:
Set wb2 = Workbooks("20200403 Selina - Loanbook V2.09 (1).xls")
wb2.Activate
wb2.Sheets("Pepper Accounts RAW").Range("A1:BW").PasteSpecial Paste:=xlPasteValues
Range("A1").Select
'Close workbook
wb1.Close savechanges:=True
Application.DisplayAlerts = True
End Sub
试试这个:
wb1.Sheets("Accounts_latest").Range("A1:BW" & i).Copy
或
wb1.Sheets("Accounts_latest").Range("A1","BW" & i).Copy
和
wb2.Sheets("Pepper Accounts RAW").Range("A1").PasteSpecial Paste:=xlPasteValues
或
wb2.Sheets("Pepper Accounts RAW").Range("A1:BW" & i).PasteSpecial Paste:=xlPasteValues
或
wb2.Sheets("Pepper Accounts RAW").Range("A1").Resize(i,1).PasteSpecial Paste:=xlPasteValues
每当第三方向我发送他输入的更新版本时,我都需要更新我的主文件。 因此,我需要将这个新输入的范围复制粘贴到我计算机上保存的工作簿中。如果 A 列中的值大于 0.For,则范围需要包括所有列和所有行,例如,在下图中,从 A1 到 A45。
我找到了一种方法 select 行并在第一个零处停止。我在我的代码 i 中调用的一侧放了一个 sumprodcut 公式。
现在,我有这个代码:
我在行 wb1.Sheets("Accounts_latest").Range("A1:BW & i").Copy
上有一个错误,我无法修复它...你有什么想法吗?
让我知道 :)
安托万
Sub CopyPaste()
Dim wb1 As Workbook
Dim wb2 As Workbook
'Open Workbook from Pepper
Set wb1 = Workbooks.Open("G:\Shared drives\Reporting\Power BI Source Files- DO NOT TOUCH\Pepper Automation\Accounts latest\Accounts updated\Accounts_latest.xlsx")
'Copy Range (Column A to BW - all filled rows)
Dim i As Integer
i = Sheets("Accounts_latest").Range("CA1").Value
wb1.Sheets("Accounts_latest").Range("A1:BW & i").Copy
'Paste to worksheet in workbook2:
Set wb2 = Workbooks("20200403 Selina - Loanbook V2.09 (1).xls")
wb2.Activate
wb2.Sheets("Pepper Accounts RAW").Range("A1:BW").PasteSpecial Paste:=xlPasteValues
Range("A1").Select
'Close workbook
wb1.Close savechanges:=True
Application.DisplayAlerts = True
End Sub
试试这个:
wb1.Sheets("Accounts_latest").Range("A1:BW" & i).Copy
或
wb1.Sheets("Accounts_latest").Range("A1","BW" & i).Copy
和
wb2.Sheets("Pepper Accounts RAW").Range("A1").PasteSpecial Paste:=xlPasteValues
或
wb2.Sheets("Pepper Accounts RAW").Range("A1:BW" & i).PasteSpecial Paste:=xlPasteValues
或
wb2.Sheets("Pepper Accounts RAW").Range("A1").Resize(i,1).PasteSpecial Paste:=xlPasteValues