需要复制列H,K,L从一个Excel工作簿到使用Excelmacros的新工作簿

我有一个excel工作簿A.xlsx列A到T,现在我需要复制特定的列H,K,L到一个新的工作簿,这将创build时,我运行一个macros。

我能够成功地复制从一个工作表到另一个列的范围,但我没有find一种方法来复制特定的列到一个新的工作簿。

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

试试这个:

 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将成为该书中的活动工作表。 还假设列H,K,L将被复制,但不是列。

尝试下面的示例代码

  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