- ベストアンサー
マクロを使用した選択セルの値のコピーについて
- 質問内容は、A1とB1の値をマクロで取得し、それを使用してD列の選択範囲を検索し、D2からG7までをコピーして別の場所に貼り付けたいというものです。
- この操作を行うためには、A1とB1の値を取得する方法を知る必要があります。
- 詳しい方がいらっしゃいましたら、簡単な方法を教えていただけると助かります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>『型が一致しません』とデバッグが生じました。 A1の値またはB1の値、またはどちらも見つからないまま Range(Cells(myR1, "D"), Cells(myR2, "D")).Resize(, 4).Copy Range("J1") を実行すると、そのようなエラーが出ます。 Sub Test() Dim myR1 As Variant, myR2 As Variant myR1 = Application.Match(Range("A1").Value, Range("D:D"), 0) myR2 = Application.Match(Range("B1").Value, Range("D:D"), 0) If IsError(myR1) Then MsgBox "A1セルの値 " & Range("A1").Value & " がD列に見当たりません。" Exit Sub End If If IsError(myR2) Then MsgBox "B1セルの値 " & Range("B1").Value & " がD列に見当たりません。" Exit Sub End If '検索範囲をJ1セルに貼付 Range(Cells(myR1, "D"), Cells(myR2, "D")).Resize(, 4).Copy Range("J1") End Sub
その他の回答 (1)
- watabe007
- ベストアンサー率62% (476/760)
>決まりとしては、A1<B1で,必ず、A1の値とB1の値はD列に存在します。 Sub Test() Dim myR1 As Variant, myR2 As Variant myR1 = Application.Match(Range("A1").Value, Range("D:D"), 0) myR2 = Application.Match(Range("B1").Value, Range("D:D"), 0) '検索範囲をJ1セルに貼付 Range(Cells(myR1, "D"), Cells(myR2, "D")).Resize(, 4).Copy Range("J1") End Sub
お礼
ありがとうございます。早速実行してみましたが、 Range(Cells(myR1, "D"), Cells(myR2, "D")).Resize(, 4).Copy Range("J1") のところで、『型が一致しません』とデバッグが生じました。 どのように対処したらよろしいでしょうか??