• ベストアンサー

エクセル2003のVBAについて

次のコードのように、初めにクリックしたセルに、次にクリックしたセルの内容をコピーするVBAを書いたのですが、コピー先の列を、複数指定する方法がわかりません。 たとえば、C~O列(3~15)のように指定できればと思っています。 このようなことは可能でしょうか? ご教授いただけます方、よろしくお願い申し上げます。 -------------------------------------------------- Dim FrstCell As Range Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.MergeCells = False And Target.Count > 2 Then Exit Sub On Error Resume Next '想定しないエラーを無視 If Target.Cells(1) = "" Then If Target.Column <> 3 Then Exit Sub 'C列 コピー先 Set FrstCell = Target.Cells(1) Else If Target.Column <> 18 Then Exit Sub 'R列 コピー元 Target.Copy FrstCell.MergeArea End If On Error GoTo 0 'エラートラップ終了 End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >たとえば、C~O列(3~15)のように指定できればと思っています。 If Target.Column <> 3 Then Exit Sub 'C列 コピー先     ↓ If Intersect(Target, Range("C1:O1").EntireColumn) Is Nothing Then Exit Sub 'C列 コピー先 このように書き換えればよいと思います。

ein-zwei
質問者

お礼

できました!完璧です!ご回答りがとうございました!

その他の回答 (1)

回答No.1

普通に考えれば Copy メソッドでコピー元のセルを指定して PasteSpecial メソッドで範囲指定すればいいのでは。 と、思いますが。

関連するQ&A

専門家に質問してみよう