プロが教えるわが家の防犯対策術!

Excelにて、sheet1のA列に連番で数字が入力してあります。
sheet2にも同様にA列に連番で数字が入力してあります。
sheet1のA列のセル(数字に入力されているセル)をダブルクリック
するとダブルクリックした行が削除されると同時に sheet2の同じ番号の
行も削除するマクロは可能でしょうか どなたかご教授願います。

現在、sheet1に、下記コードが入力して
あり、A列をダブルクリックすると行が削除
する状況です。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

With Target
If .Column = 1 Then

Rows(Target.Row).Delete Shift:=xlUp

Cancel = True

End If

End With

End Sub

すみません。よろしくお願いします。

質問者からの補足コメント

  • 説明不足で、すみません
    sheet1の連番スタートが、A2から始まり、sheet2の連番スタートがA5から始まり、同じ行の始まりではありません 

    sheet1のA2のセルに1・・・連番
    sheet2のA5のセルに1・・・連番

    説明曖昧でごめんなさい

      補足日時:2022/05/08 13:22
  • ありがとうございます
    実行したところ、424エラーが出しまいます

    「Excelにて、シート1の行を削除すると」の補足画像2
    No.2の回答に寄せられた補足コメントです。 補足日時:2022/05/08 15:59

A 回答 (3件)

失礼


変数をオブジェクト型に変えたので一応、変数名も後書きで変えました
その際の書き残し・・ですね
If Not ad Is Nothing Then

If Not snCell Is Nothing Then

としてみてください
    • good
    • 0
この回答へのお礼

ありがとうございます。
思い通りにいきました。
本当に感謝いたします。
明日から使わせていただきます。

お礼日時:2022/05/08 16:28

>同じ行の始まりではありません


行のずれをOffsetで修正しても良いのですが、、Findで探すコードにしました
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim snCell As Range
With Target
If .Column = 1 Then
Set snCell = Worksheets("Sheet2").Range("A5", Worksheets("Sheet2").Cells(Rows.Count, "A").End(xlUp)) _
.Find(What:=Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not ad Is Nothing Then
snCell.EntireRow.Delete Shift:=xlUp
Rows(Target.Row).Delete Shift:=xlUp
Else
MsgBox ("Sheet2に№ " & Target.Value & "は見つかりませんでした")
End If
Cancel = True
End If
End With
End Sub
この回答への補足あり
    • good
    • 0
この回答へのお礼

対応ありがとうございます。

お礼日時:2022/05/08 16:00

こんにちは


>sheet2の同じ番号の行も削除するマクロは可能でしょうか

同じ行№と言う事でしょうか?
それとも同じ連番?(行が違う)
取り敢えず同じ行№なら・・・

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ad As String
With Target
If .Column = 1 Then
ad = Target.Address
Rows(Target.Row).Delete Shift:=xlUp
Worksheets("Sheet2").Range(ad).EntireRow.Delete Shift:=xlUp
Cancel = True
End If
End With
End Sub

処理順を変えれば変数に格納する必要はないかも知れませんが
同じ連番?(行が違う)に変更を踏まえて変数を使っています。。
    • good
    • 0
この回答へのお礼

ありがとうございます
説明不足ですみません

お礼日時:2022/05/08 13:23

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