
excelマクロ(VBA)について質問です。マクロにて指定したセルを挿入・削除したいのですが、挿入・削除するセルの場所ついては、別のセルで指定したいのです。具体的には以下のような感じです。
A B C D
1 □
2 □
3 氏名
4 No 太郎
5 1 次郎
6 2 三郎
7 3 四郎
8 4 トメ
9 5 ハジメ
A1にて挿入する場所を、B1にて削除する場所を指定したいです。例えば四郎の後ろにセルを挿入してトメの上に五郎と入れたい場合A1にて(挿入したいNo)4を指定・実行するとトメがNo5(B9セル)にずれるといった具合です。削除の場合もB1で4を指定するとトメが削除され、No4(B8)にハジメが上がるという感じです。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
VBAをどれほど、WEB照会したり、マクロの記録を採って勉強して質問しているのか。
Googleででも「VBA 行削除」「VBA 行挿入」で照会したのか。マクロの記録を採って考えたか。
またA1などの指定が4と指定するのか、「A9」と指定すするのか書くべき。
Sub test04()
Rows(Range("A1") + 3).EntireRow.Delete
End Sub
は全行を削除。
ーー
番号も残すなら(B-F列等を削除して上へつめるなら)。(最初に質問に書くこと)
マクロの記録をやってみること。
マクロ記録では
Sub Macro4()
Range("B8:D8").Select
Selection.Delete Shift:=xlUp
End Sub
それを修正して
Sub Macro5()
Set sh1 = Worksheets("Sheet1")
MsgBox sh1.Range("A1") + 4
sh1.Range("B" & (sh1.Range("A1") + 4) & ":D" & (sh1.Range("A1") + 4)).Select
Selection.Delete Shift:=xlUp
End Sub
ーー
Sub Macro6()
Range("B" & (Range("A1") + 4) & ":D" & (Range("A1") + 4)).Select
Selection.Delete Shift:=xlUp
End Sub
でも良いようだ。
最終行の番号は残したまま。消すなら消せるが。
ーーー
行挿入
マクロの記録では
Sub Macro7()
Selection.Insert Shift:=xlDown
End Sub
範囲を指定して
Sub Macro7()
Range("B" & (Range("A1") + 4) & ":D" & (Range("A1") + 4)).Select
Selection.Insert Shift:=xlDown
End Sub
最終行の番号を付け加えるなら、最終行に次の行に(やり方がわからなければ、Googleで「エクセルVBA 最終行 取得」で照会のこと)、A列最大番号+1をセット。
No.3
- 回答日時:
A5が1になるのでしたら
A5に
=ROW()-4
として以下必要なだけ下にフィルしてください。
ROW()は行番号を返しますのでご自身の環境に合わせてマイナスの数値を変更してください。
削除はコードの変更は必要ありません
挿入は以下のように変更してください
Set c = Range("A4:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(Range("A1").Value, LookIn:=xlValues)
mRow = c.Row
Rows(mRow).Insert Shift:=xlDown
Range("A" & mRow).Formula = "=ROW()-4"
No.1
- 回答日時:
削除(B1に指定)
Set c = Range("A4:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(Range("B1").Value, LookIn:=xlValues)
mRow = c.Row
Rows(mRow).Delete Shift:=xlUp
挿入(A1に指定)
Set c = Range("A4:A" & Range("A" & Rows.Count).End(xlUp).Row).Find(Range("A1").Value, LookIn:=xlValues)
mRow = c.Row
Rows(mRow).Insert Shift:=xlDown
ありがとうございます。
一点、質問に対して補足させてください。
挿入・削除どちらをしてもA列のNoは変更しないようにしたいのです。
つまり、A1にて(挿入したいNo)4を指定・実行すると
四郎の後ろにセル(B8とC8)が挿入されますが、A列には変化がないといった具合です。
削除の場合も同様で、A1にて(削除したいNo)4を指定・実行すると
A列はそのままで、削除されるのはB8とC8セルということです。
質問が雑でわかりにくく恐縮ですが何とぞ、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセルの数式で教えてください。 3 2021/12/21 09:20
- Excel(エクセル) VGAを利用した画像表示について 4 2021/11/03 23:07
- Word(ワード) wordでの指定オブジェクトの削除 6 2021/12/20 00:06
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/02/10 17:07
- Excel(エクセル) 指定した語句と隣のセルを空欄にする 1 2023/06/18 12:54
- Visual Basic(VBA) 【Excel VBA】シートの中から特定の文字列のセル位置を取得するには? 6 2021/11/03 23:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/04 10:48
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel_マクロ_現在開いているシ...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルで別のセルにあるふり...
-
エクセルの関数とマクロの区別
-
エクセル VBA実行中のApplicati...
-
オートフィルターとExcelマクロ...
-
エクセルのマクロについて教え...
-
アクセス マクロ クリップボ...
-
TERA TERMを隠す方法
-
EXCEL VBAでマクロの最後でFind...
-
エクセルマクロ 2行とびでAか...
-
エクセルに張り付けた写真のフ...
-
Excelマクロで元データを簡潔な...
-
マクロの一時停止機能について
-
WORD テキストボックスを全ペ...
-
インクルードガードの命名の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelVBAでPDFを閉じるソース
-
ダブルクリックで貼り付けた画...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
Excelのセル値に基づいて図形の...
-
特定文字のある行の前に空白行...
-
エクセルマクロでワードの一ペ...
-
エクセルで縦に並んだデータを...
-
Excel VBAからAccessマクロを実...
おすすめ情報