初めての仕事でのマクロ作成【予算実績があれば実績、なければ予定を転記】
スポンサードリンク
先日仕事で初めてマクロを組んでみました。シンプルなものですが無駄なコピペが減りかなり助かりました。
予算実績があれば実績、なければ予定を転記
マクロでやりたいこと
入力された予算から実績があれば実績を転記。実績がなければ予定を転記となります。今までは、一つ一つ実績があるのか確認しながらコピペしていました。
マクロを組む考え方
その月の予定と実績の数字を比べてみて、
両方に数字があるならば→実績
実績が0ならば→予定
と条件を組むことになります。
組んでみたマクロ
Sub 実績処理()
Dim i As Long, z As Long, lastcolumn As Long, t As Long
'コピー元行の指定
i = 5'コピー先行の指定
z = i + 6'コピー元列の数の指定(数字が入っている最後の列番号)
lastcolumn = Cells(10, Columns.Count).End(xlToLeft).Columnt = 2
For k = 2 To lastcolumn
'実績、予定ともに数字がある場合は実績を反映
If Cells(i, t).Value <> 0 And Cells(i, t + 1).Value <> 0 Then
Cells(z, k).Value = Cells(i, t + 1).Value
'実績がない場合は予定を反映
ElseIf Cells(i, t).Value <> 0 And Cells(i, t + 1).Value = 0 Then
Cells(z, k).Value = Cells(i, t).Value
'それ以外は0を返す
Else
Cells(z, k).Value = 0
End If
'次の月の実績に移動
t = t + 2
Next kEnd Sub
もしこうしたほうがいいよ!というアドバイスがあればぜひお願いします!