電子書籍の厳選無料作品が豊富!

こんにちは、ボタンクリックマクロについて教えて下さい

マクロのボタンを押し、B列のセルを選択したらその行のE列まで、更に最下行までを選択し、全体を一行下げる。

このようにするにはどうしたら良いでしょうか?

1行下げるのはあくまでもB列からE列までです。

よろしくお願いします。

「エクセル マクロ シンプルな転記」の質問画像

A 回答 (5件)

>H列はH~L列までです。


ちなみにB列も1列拡張してCells(.Row, 6)としました。

手書きでテストしていませんが、下記の様な感じかと。
ボタンでの登録ですが。 右クリックの書き方も、大きく変わらないと
思いますので、そちらへの移植も可能かと。

Sub シートを下方向へシフト()
With Selection.Cells(1, 1)
Select Case .Column
Case 2
Range(Cells(.Row, 2), Cells(.Row, 6)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Case 8
Range(Cells(.Row, 8), Cells(.Row, 12)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Select
End With
End Sub
    • good
    • 1
この回答へのお礼

ありがとうございます
B列 H列 どっちも出来ました!

出納帳を付けるのに間の日付を割り込ませるのが大変で、、、
助かりました!

お礼日時:2022/02/01 21:29

No.1の者です。



ボタンに登録でしたね。 失礼しました。
ボタンクリックですと、下記の様な感じかと思います。
先にセルを選択した状態で、ボタンにマクロを登録すれば良いかと。

あとH列も同じような事をしないといけないのですが、どんな風に書き換えたら良いでしょうか?
→H列を選択した場合の範囲は??
>B列なら、B~Eですが。

Sub シートを下方向へシフト()
With Selection.Cells(1, 1)
If .Column <> 2 Then Exit Sub
Range(Cells(.Row, 2), Cells(.Row, 5)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
End Sub

>でもこれだとホントにB列を右クリックしたいときはどうしたら良いのでしょうか?
→ 例えば、イベントを無効にすれば、可能です。
例えば、下記の様なコードをボタンに登録すれば、ボタンクリックする
度に、イベント、有効、無効を切り替える事ができます。

Application.EnableEvents = Not Application.EnableEvents
    • good
    • 0
この回答へのお礼

再回答頂き、ありがとうございます。

H列はH~L列までです。
ちなみにB列も1列拡張してCells(.Row, 6)としました。

イベントONOFFボタンを設置すればいいのですね、やってみます!

お礼日時:2022/02/01 21:07

No.1のものです。



念のため、No.2の記載は、シートオブジェクトへの記載になります。

https://www.vba-ie.net/object/event.php
    • good
    • 0

No.1の者です。



例えば、下記の様な感じでしょうか?
右クリックでの動作ですが。

Option Explicit

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
With Target.Cells(1, 1)
If .Column <> 2 Then Exit Sub
Range(Cells(.Row, 2), Cells(.Row, 5)).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cancel = True
End With
End Sub
    • good
    • 0
この回答へのお礼

再回答ありがとうございます
これ便利ですね、選択して右クリックするだけです、ありがとうございます。

でもこれだとホントにB列を右クリックしたいときはどうしたら良いのでしょうか?

あとH列も同じような事をしないといけないのですが、どんな風に書き換えたら良いでしょうか?

ボタンクリックに設定するつもりだったのですが、標準モジュール? だと使い方がわかりません。

すみませんが、教えて頂けないでしょうか。

お礼日時:2022/02/01 20:39

こんにちは、



セルの挿入ではダメでしょうか?
Excelの操作ですと、B列からE列を選んで、右クリック、挿入、下方向に
シフトでOKをクリック。

これを、マクロの記録で取ったものを参考にされては?と思います。
https://excel-ubara.com/excelvba1/EXCELVBA303.html

イベントですと、右クリックかダブルクリックになるかと思いますが。
https://excel-ubara.com/excelvba1/EXCELVBA425.html
    • good
    • 0
この回答へのお礼

どの行を選択してもB列からE列の最下行までが選択され、1行下げてその行が空白になれば何でも良いです。

マクロの記録だとその時の動きしか繰り返せないのでは無いですか?

お礼日時:2022/02/01 17:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!