vba - 在 Excel-Vba 中复制多列

标签 vba excel

嗨,我正在尝试将多个列从一个工作簿复制到另一个工作簿,下面是我复制一个工作簿的代码,需要帮助以使代码更加优化,因为我不想为所有列编写相同的代码。下面是代码。

Sub Copymc()

Dim x As Workbook
Dim y As Workbook

Set x = Workbooks.Open("H:\testing\demo\test2.xlsx")
Set y = Workbooks.Open("H:\testing\demo\test1.xlsx")
Dim LastRow As Long
Dim NextRow As Long

' determine where the data ends on Column B Sheet1

x.Worksheets("Sheet1").Activate
Range("A65536").Select
ActiveCell.End(xlUp).Select
LastRow = ActiveCell.Row

' copy the data from Column B in Sheet 1

Range("A2:A" & LastRow).Copy

' Determine where to add the new data in Column C Sheet 2

y.Worksheets("Sheet1").Activate
Range("A65536").Select
ActiveCell.End(xlUp).Offset(1, 0).Select
NextRow = ActiveCell.Row

' paste the data to Column C Sheet 2

y.Worksheets("Sheet1").Range("A" & NextRow).Select

ActiveSheet.Paste

Application.CutCopyMode = False

Range("A1").Select

End Sub

我试图将所有列都放在范围语句中,但我发现问题是如何粘贴?如何在不重复代码的情况下为多个列执行此操作?提前致谢。

最佳答案

假设您要复制 A-D 列:

Sub Copymc()

Dim x As Workbook
Dim y As Workbook

Set x = Workbooks.Open("H:\testing\demo\test2.xlsx")
Set y = Workbooks.Open("H:\testing\demo\test1.xlsx")
Dim LastRow As Long
Dim NextRow As Long

' determine where the data ends on Column B Sheet1

x.Worksheets("Sheet1").Activate
Range("A65536").Select
ActiveCell.End(xlUp).Select
LastRow = ActiveCell.Row

' copy the data from Column B in Sheet 1

Range("A2:D" & LastRow).Copy y.worksheets("Sheet1").range("a65536").end(xlup).offset(1,0)

' Determine where to add the new data in Column C Sheet 2

'y.Worksheets("Sheet1").Activate
'Range("A65536").Select
'ActiveCell.End(xlUp).Offset(1, 0).Select
'NextRow = ActiveCell.Row

' paste the data to Column C Sheet 2

'y.Worksheets("Sheet1").Range("A" & NextRow).Select

'ActiveSheet.Paste

Application.CutCopyMode = False

Range("A1").Select

End Sub

关于vba - 在 Excel-Vba 中复制多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28771305/

相关文章:

excel - 如何抽象我的 VBA 代码以顺利处理 n x n 矩阵?

vba - Word 2011 VBA 中的文件对话框

excel - 水平数据上 MATCH 函数的替代方法

validation - Excel 2010 - VBA/公式 - 无法找到范围名称的定义方式

vba - 将形状颜色与单元格颜色匹配 - vba

vba - Excel UDF 参数返回单元格引用而不是值

python xlsxwriter根据行数据写入单元格

excel - 删除重复数组问题

excel - VBA - 隐藏/取消隐藏行作为工作表事件的速度

ios - 使iOS App具有与Excel Sheet相同的功能