
つい最近マクロを触り始めたものです。
添付のような「行移動ボタン(↑ボタンと↓ボタン)」を沢山作りたいのですが、
下記の手順を沢山行わないといけないでしょうか?
------
≪↑ボタンの場合≫
マクロの記録開始
↓
1行全体選択、Shiftで1つ上の行に挿入
↓
マクロの記録終了
↓
任意のオブジェクトにマクロを登録
------
沢山作りたくてボタンをコピペしても、
マクロを登録する際に移動させた行が動くばかりで困ってしまいました。
調べても上下ボタンの解説記事などは見当たらず…
VBAを触れば可能なのでしょうか?
だとしたらお手柔らかに教えていただきたいです…!
宜しくお願いいたします。

No.1ベストアンサー
- 回答日時:
はじめまして
VBAやボタンの使い方は置いときまして
ご質問の内容を推測すると下記のような感じで出来ると思います。
1行目セル内にフォームボタンを図の様に設置して
1行目のボタン↑に
Sub UE() '上に1つ移動
Dim r As Long
On Error Resume Next
r = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
If r = 1 Then Exit Sub
Rows(r).Cut
Rows(r - 1).Insert
End Sub
を登録
1行目の↓ボタンに
Sub SITA() '下に1つ移動 ?ActiveCell.Row
Dim r As Long
On Error Resume Next
r = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
Rows(r).Cut
Rows(r + 2).Insert
End Sub
を登録
セルをコピー
下の必要部分まで選択し Enterで貼り付け
ただ、オブジェクトをこのように沢山配置するのは、私はあまりしません。
Qchan1962さん、はじめまして。早速のご回答ありがとうございます…!
ご提案いただいた通りの内容で、ばっちり行移動ボタンを複数作成することができました!!
> ただ、オブジェクトをこのように沢山配置するのは、私はあまりしません。
こちらの理由として、
「必要になる場面が少ない」または「ごちゃごちゃするのが好ましくない」…あたりでしょうか?
普段使用しているシステムを題材に組んでいるところなので、私も今後このような配置をすることになるかは分かりませんが…w
追記にもベストアンサーを割り振れたら良かったのですが、こちらの方で選ばせていただきます。
No.2
- 回答日時:
追記します
>お手柔らかに教えていただきたいです…!
マクロの記録だと行番号などが記録される為、汎用性に欠けます。
その為、そのマクロを使いまわすと対象が絞られてしましますので、新たに記録してり
変数などを活用して汎用性を補います。
示したコードは、参考図で沢山のボタンを使用する事から
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row で
ボタンが設置されている行番号を取得しています。
つまり、ボタン設置場所に依存する形です。
通常?、下記のような使い方が多いかも知れません。
Sub SITA() '下に1つ移動
Dim r As Long
On Error Resume Next
r = ActiveCell.Row ’選択されているセルの行
Rows(r).Cut
Rows(r + 2).Insert
End Sub
選択セルに依存している形です。
Rows(r).Cut は行を切り取り
Rows(r + 2).Insert 切り取った行を挿入
UEでの
If r = 1 Then Exit Sub は、1行目の上には挿入できないので処理をやめています。
On Error Resume Next 必要ないかも知れませんが、念のため エラー発生時に無視して次の行に進む
ボタンに同じマクロを登録すれば、その登録を含めコピーぺが可能ですね。
参考まで
こちらの追記の方でも、
親切丁寧にご解説下さりありがとうございます!
今まで怖くて触れておりませんでしたが、VBAのところも初めて編集できました。
キッカケというか背中を押して下さり感謝です。
今回教えていただいたことを参考に今後も触っていこうと思います。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) マクロを教えてください 3 2023/07/31 21:57
- Excel(エクセル) マクロを教えてください 2 2023/07/30 23:05
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) マクロで謎の現象が起きていて困ってます。 エクセルで作ったボタンを押すとマクロが動いて処理をしてくれ 3 2023/06/22 17:28
- Word(ワード) Word のマクロについての質問です。 ボタンを押すと登録したブックマーク先にジャンプする機能(リン 3 2023/08/16 12:17
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
フォームコントロールから作っ...
-
UPS警告音を止めたい
-
【Excel VBA】マクロボタンを表...
-
マクロを登録しているボタンが...
-
エクセルで、オプションボタン...
-
Excelで、ボタンにコメントをつ...
-
エクセルの画面にユーザーフォ...
-
複数シートのボタンに同一の動...
-
EXCELのマクロが 実行時エラー5...
-
Excel ラジオボタンのリセット...
-
VBAでオプションボタンなどそれ...
-
【Excel】行移動ボタンを沢山作...
-
オブジェクト名をVBAで指定...
-
マクロで作ったボタンのサイズ...
-
トグルボタンをオプションボタ...
-
エクセルのチェックボックスと...
-
エクセルでマクロボタンを押す...
-
excel スクロールしても常にボ...
-
エクセルでグループボックスを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelシート上のマクロを登録し...
-
UPS警告音を止めたい
-
【Excel VBA】マクロボタンを表...
-
フォームコントロールから作っ...
-
エクセルの画面にユーザーフォ...
-
入力済み、選択したセルに連動...
-
EXCELのマクロが 実行時エラー5...
-
Excel ラジオボタンのリセット...
-
複数シートのボタンに同一の動...
-
マクロで作ったボタンのサイズ...
-
オブジェクト名をVBAで指定...
-
ユーザーフォームをショートカ...
-
エクセルで、オプションボタン...
-
マクロを登録しているボタンが...
-
Excelで、ボタンにコメントをつ...
-
EXCELの塗りつぶしのボタ...
-
VBAでクリアボタンのみ残してシ...
-
excel スクロールしても常にボ...
-
VBAでオプションボタンなどそれ...
-
エクセルでマクロボタンを押す...
おすすめ情報