2

我有一个包含 A 到 T 列的 Excel 工作簿 A.xlsx,现在我需要将特定列 H、K、L 复制到一个新工作簿中,该工作簿将在我运行宏时创建。

我能够成功地将一系列列从一个工作表复制到另一个工作表,但我没有找到将特定列复制到新工作簿的方法。

Private Sub copy_sub()
Sheets("Sheet1").Columns("H:K").Copy Sheets("Sheet2").Range("A1")
End Sub
4

2 回答 2

3

试试这个:

Sub dural()
    Dim r1 As Range, r2 As Range
    Sheets("Sheet1").Select
    Set r1 = Range("K:L")
    Set r2 = Range("H:H")
    Set wbNew = Workbooks.Add
    r2.Copy Range("H1")
    r1.Copy Range("K1")
End Sub

基于添加工作簿后的事实,新工作簿将处于活动状态,Sheet1 将成为该工作簿中的活动工作表。还假设要复制 cols H,K,L,而不是 col I。

于 2013-10-25T22:04:22.277 回答
2

试试下面的示例代码

   Private Sub copy_sub()

    Dim wkb As Workbook
    Set wkb = Workbooks.Add    ' Will add new workbook

    ' with column name
    ThisWorkbook.Sheets("Sheet1").Columns("H").Copy wkb.Sheets("Sheet2").Range("A1")

    'with column index
    ThisWorkbook.Sheets("Sheet1").Columns(9).Copy wkb.Sheets("Sheet2").Range("A1")

End Sub
于 2013-10-25T21:55:23.783 回答