在Excel中select合适的范围

我正在将数据从一个工作簿复制到另一个工作簿。 我一直在努力与范围,无法弄清楚如何插入数据,因为我想要的。

Workbook A Workbook B ID Name Id Name 1A 3C Sarah 2A 4J Joy 5D R8 Lucas 

结果

  (Expected) Reality ID Name Id Name 1A 1A Sarah 2A 2A Joy 5D 5D Lucas 3C Sarah 3C 4J Joy 4J R8 Lucas R8 Sub CopyOttiCoverage() Dim x As Workbook Dim y As Workbook Dim rng As Range Dim LastRow As Long Dim NextRow As Long Set x = Workbooks.Open("H\A.xlsm") Set y = ThisWorkbook 'Workbooks.Open("H:\B.xlsx") x.Worksheets("Sheet1").Activate Range("A65536").Select ActiveCell.End(xlUp).Select LastRow = ActiveCell.Row Range("A2:A" & LastRow).Copy y.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 0) Range("B2:B" & LastRow).Copy y.Worksheets("Sheet1").Range("b65536").End(xlUp).Offset(1, 0) Application.CutCopyMode = False 

如上所示,当我将logging从B复制到A时,其中A在Name字段中具有全部空白,结果将名称放在错误的位置。 所以我认为这与我粘贴的范围有关。 另外,如果有人可以告诉我是否有可能在ID列之前插入date列,并使用系统date进行更新。 提前致谢。

将底部粘贴行更改为:

 Range("B2:B" & LastRow).Copy y.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 1) 

并把它放在另一条线上。 所以它会看起来像这样:

 Sub CopyOttiCoverage() Dim x As Workbook Dim y As Workbook Dim rng As Range Dim LastRow As Long Dim NextRow As Long Set x = Workbooks.Open("H\A.xlsm") Set y = ThisWorkbook 'Workbooks.Open("H:\B.xlsx") x.Worksheets("Sheet1").Activate Range("A65536").Select ActiveCell.End(xlUp).Select LastRow = ActiveCell.Row Range("B2:B" & LastRow).Copy y.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 1) Range("A2:A" & LastRow).Copy y.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 0) Application.CutCopyMode = False 

这可能不是最好的办法,但它应该工作。

编辑:另外,你可以一次复制整个范围这样做:

 Range("A2:B" & LastRow).Copy y.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1,0) 

那么如果你把“B”改成“C,D,X”,你可以得到大量的连接列。