0

シート1からいくつかのセルをコピーして、シート2のヘッダーの間に挿入したい。以下のコードとそれを実行するためのボタンを書きましたが、問題はボタンをクリックするたびに新しいヘッダーが挿入されることです。どうすれば変更できますか?

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
4

1 に答える 1

1

最後に使用した列を取得するために使用している方法は、常に機能するとは限りません。実際、使用するたびに増加しているようです。以下は、最後の列を適切に取得します。

ActiveSheet.Cells.Find("*", SearchOrder:=xlByColumns, LookIn:=xlValues, SearchDirection:=xlPrevious).Column
于 2012-11-27T20:06:14.323 に答える