マクロお詳しい方お願いします。シート1のA列に番号がありBからE列までは任意の文字が入力されています。シート2のA列に入力欄を設け、番号を入力し、マクロを実行すると、シート1の同じ番号の行を削除できるようにしたいです。シート2の入力欄は複数入力できるようにして、まとめて削除できるようにしたいです。どのようにすればよいか分からず、教えていただけると助かりますよろしくお願いします。シート1A B C D E1001 あ お け す1002 い か こ せ1003 う き さ そ1004 え く し た以下10000行ほどありシート2A1002100420022008マクロを実行したらシート1のA列が1002,1004,2002,2008の行を行削除したい。

1件の回答

回答を書く

1204029

2026-01-12 16:00

+ フォロー

削除できなかった行の情報は必要です?



Sub Sample()

Dim hai()

Dim i As Long, n As Long

Dim sh1 As Worksheet, sh2 As Worksheet

Dim buf As Range, fnd As Range

Dim msg As String



Set sh1 = Sheets(\u0026quot;Sheet1\u0026quot;)

Set sh2 = Sheets(\u0026quot;Sheet2\u0026quot;)



For i = 1 To sh2.Cells(Rows.Count, \u0026quot;A\u0026quot;).End(xlUp).Row

Set buf = sh2.Cells(i, \u0026quot;A\u0026quot;)

Set fnd = sh1.Range(\u0026quot;A:A\u0026quot;).Find(buf.Value, LookAt:=xlWhole)

If Not fnd Is Nothing Then

ReDim Preserve hai(n)

hai(n) = fnd.Row \u0026amp; \u0026quot;:\u0026quot; \u0026amp; fnd.Row

n = n + 1

Else

msg = buf.Value \u0026amp; vbCr \u0026amp; msg

End If

Next i



sh1.Range(Join(hai, \u0026quot;,\u0026quot;)).Delete

MsgBox msg \u0026amp; \u0026quot;以上の番号は見つかりませんでした。\u0026quot;

End Sub

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有