月別シートへの転記

 

を押して作動するプログラムを作ります。

Sub カット()

ActiveSheet.Next.Activate

If Range("D3") = "" Then

Range("A3").Select

Else

Range("D2").End(xlDown).Select

Selection.Offset(1, -3).Select

End If

ActiveSheet.Previous.Activate

Range("D5").End(xlDown).Select

Range(Cells(6, 1), Selection.Offset(0, 19)).Cut

ActiveSheet.Next.Activate

ActiveSheet.Paste

End Sub

 

ActiveSheet.Next.Activate

は、ActiveSheet の次のシートをアクティブにせよ、ということ。

(ここでActiveSheetとは入力シートのことです)

*データを転記入力したい”月別シート(今月のシート)”は、かならず”入力シート”の右隣に置いておいてください。

次に、月別シートの”D3”セルが空白かどうかを参照します。↓

もし、空白ならば

If Range("D3") = "" Then

Range("A3").Select

のとおりに、セル”A3”を選択。

 

もし上記の図のように、セル”D3”に、データが入っている場合は

Range("D2").End(xlDown).Select

Selection.Offset(1, -3).Select

のように、セル”D2”から、下の行に向かって、データが検出される最下端の行のセルから

オフセット(1,-3)なので、1行下へ、マイナス3列右(つまり3列左)へ

つまり、上記図の場合、最終的にセル”A8”を選択するようにします。

 

 

次に、”入力シート”へ戻り

Range("D5").End(xlDown).Select

Range(Cells(6, 1), Selection.Offset(0, 19)).Cut

のとおり、

セル”D5”から、データが検出される最下端のセルを選択し、

Cells(6,1)つまり、セル”A6”から、先ほど選択したセルから右へ19列移動したセルまでのデータ

(下図の青色で範囲指定した部分)をカットし、

↓クリックで拡大

ActiveSheet.Next.Activate

ActiveSheet.Paste

月別シートをアクティブにして、カットしたデータをペーストします。

 


inserted by FC2 system