今回は財布の表をひとつだけ下に動かすマクロ式の説明だ。
Sub 財布の金計算02()
'
' 財布の金計算02 Macro
'
'
'財布金表の左上選択
今回は画面が行ったり来たりしないので画面が動かない式は入れていない
財布お金計算表を探す
まずは財布のお金計算表の左上の日付を探す
Dim Range1, 行1 As Range
Set 行1 = Range("Z2")
Set Range1 = Range("Z2").End(xlDown)
Z2から下ののセルで数値(この場合は日付)を探す
Set 行1 = Range1.Offset(0, 0)
探したセルでOffset(0, 0)ということはその位置のセルということ
財布お金計算表の右下端を探す
Dim Range2, 行2 As Range
Set Range2 = Range("Z2").End(xlDown)
Set 行2 =
Range2.Offset(5, 8)
Z2の下のセルで数値が入っているところを探しそして
Offset(5, 8)ということで下に5右に8のところを行2とする
Range(行1, 行2).Select
Range(行1, 行2).Selectは計算表を選択するということ
'行1から行2を切取
Selection.Cut
選択した表を切り取る
表を一つ下にコピーする準備
'行1の一つ下を選択の意味
Dim Range3, 行3 As Range
Set 行3 = Range1.Offset(1, 0)
行3はRange1(Set Range1 = Range("Z2").End(xlDown))
Offset(1, 0)で下に一つ下のこと
Dim Range4, 行4 As Range
Set 行4 = Range1.Offset(1, 0)
これは行3と同じセル
行3だけだとうまくマクロが動かなかった
これがわかるまで苦労した
Range(行3, 行4).Select
既存の表の一つ下を選択した
'選択したところに貼付
ActiveSheet.Paste
Range("AB1").Select
カーソルをAB1戻す
Application.ScreenUpdating = True
Application.CutCopyMode = False
前回のブログで説明したモヤモヤを消す式
End Sub
スッキリ式は以下の通り
Sub 財布の金計算02()
' 財布の金計算02 Macro
Dim Range1, 行1 As Range
Set 行1 = Range("Z2")
Set Range1 = Range("Z2").End(xlDown)
Set 行1 = Range1.Offset(0, 0)
Dim Range2, 行2 As Range
Set Range2 = Range("Z2").End(xlDown)
Set 行2 =
Range2.Offset(5, 8)
Range(行1, 行2).Select
Selection.Cut
Dim Range3, 行3 As Range
Set 行3 = Range1.Offset(1, 0)
Dim Range4, 行4 As Range
Set 行4 = Range1.Offset(1, 0)
Range(行3, 行4).Select
ActiveSheet.Paste
Range("AB1").Select
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
マクロをやっている人が見ると無駄が多い式とか
式が綺麗でない(整っていない)と言われそうな気がする。
0 件のコメント:
コメントを投稿