Excel中的Excel VBA复制单元格并将其插入标题sheet2中

时间:2012-11-23 15:20:59

标签: excel vba insert copy

我想从sheet1复制一些单元格并将它们插入到sheet2的标题之间。我编写了下面的代码和一个执行它的按钮,但问题是,每次我点击按钮,它会插入新的标题。我怎么能改变它?

lastColumnS1 = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column

Sheets("Sheet1").Select
Range(Cells(1, 3), Cells(1, lastColumnS1)).Select
Selection.Copy

Sheets("Sheet2").Select
lastColumn3 = ActiveSheet.Cells.SpecialCells(xlLastCell).Column
Range("B1").Select    
Selection.Insert Shift:=xlToRight  
Range(Cells(2, lastColumn3), Cells(3, lastColumn3)).Select
Selection.Cut
lastColumn3_ = ActiveSheet.Cells.SpecialCells(xlLastCell).Column
Range(Cells(2, lastColumn3_), Cells(3, lastColumn3_)).Select
ActiveSheet.Paste

示例数据

Sheet1:

ID   Name   x    y    z 
1    AA 
2    BB

Sheet2:

ID  Name
3   KK 
6   LL

desired result of Sheet2:

ID   x    y    z    Name
3                    KK
6                    LL

1 个答案:

答案 0 :(得分:1)

您用于获取上次使用的列的方法并不总是有效。事实上,每次使用它似乎都会增加。以下内容将正确检索最后一列:

ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, LookIn:=xlValues, SearchDirection:=xlPrevious).Column