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

エクセルシート1のD列の3行目から下に入力のデータをみて、東京という入力セル行から大阪という入力セル行の一つ前までの列Dから列Eの範囲を一括コピーしてシート2のB列C列の5行目からに貼り付けるようなマクロは可能でしょうか。
 例えばシート1のD列15行目に東京、またD列28行目に大阪のデータがあれば、D15からE27までの範囲をコピーしてシート2のB5からC17へ貼り付けるマクロです。
 毎回、東京、大阪の範囲行が変わるので良い方法があればと質問させていただきました。
どなたかよろしくお願いいたします。

A 回答 (1件)

こんばんは!



貼り付け先は常にSheet2のB5セルなのでしょうか?
そういうコトだとしての一例です。
標準モジュールにしてください。

Sub Sample1()
 Dim c As Range, r As Range
 Dim wS As Worksheet
  Set wS = Worksheets("Sheet2")
   With Worksheets("Sheet1")
    Set c = .Range("D:D").Find(what:="東京", LookIn:=xlValues, lookat:=xlWhole)
    Set r = .Range("D:D").Find(what:="大阪", LookIn:=xlValues, lookat:=xlWhole)
     If Not c Is Nothing And Not r Is Nothing Then
      Range(.Cells(c.Row, "D"), .Cells(r.Row, "E")).Copy wS.Range("B5")
     End If
   End With
End Sub

※ 細かいエラー処理はしていません。

まずはこの程度で・・・m(_ _)m
    • good
    • 1
この回答へのお礼

こんばんは!
早々のご教示、ありがとうございます。今、やってみましたら希望通りキチンとコピペ出来ました。
早速、活用させていただきます。
本当にありがうございました。

お礼日時:2020/07/26 21:58

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A