プロが教える店舗&オフィスのセキュリティ対策術

たとえばアクティブセルcells(2,30)からcells(2,256)までのセル範囲を選択したいのですが方法がわかりません。
行単位でレコードになっているのですが、任意の行をコピーして別のシートに貼り付けたいのです。
コピーは1行単位、1回ずつでよく、連続処理する必要はありません。 どうぞよろしくお願いします。

A 回答 (6件)

では、こんな風にも書けますね。


  With ActiveCell
   .Resize(, 257 - .Column).Select
  End With
    • good
    • 2
この回答へのお礼

お礼が遅れまして申し訳ございませんでした。
ありがとうございます。 こういう表現もあるんですねぇ。実にスマートにまとめていただいてうれしくなりました。 今後もっと勉強を重ねてこういう発想ができるようになりたいものです。 またよろしくご指導くださいませ。

お礼日時:2005/05/04 00:29

またまたこんにちは。


No.5です。追加情報。

Sheet2の20行目にコピーするには、
Range("A20")でもいいのですが、
違和感がある場合は次のようにしてください。

---------------------------------------------
 ActiveCell.EntireRow.Copy Destination:=Sheets("Sheet2").Range("A20")
---------------------------------------------
この最後の、Range("A20") を
----------------------------------------------
 ActiveCell.EntireRow.Copy Destination:=Sheets("Sheet2").Rows(20)
----------------------------------------------
このように、Rows(20) として下さい。

以上です。
    • good
    • 0

こんにちは。



要するにアクティブセルの行を別のシートにコピーしたいということですよね?

アクティブセルの行を求めるのは

  ActiveCell.EntireRow

ですから、その行を選択したければ

  ActiveCell.EntireRow.Select

そしてその行を別なシートにコピーしたければ
例えば、Sheet2の20行目にコピーしたければ

-------------------------------------------
Sub Test()
 ActiveCell.EntireRow.Select
 Selection.Copy Destination:=Sheets("Sheet2").Range("A20")
End Sub
--------------------------------------------


Selectしないで直接コピーしたければ
--------------------------------------------
Sub test()
 ActiveCell.EntireRow.Copy Destination:=Sheets("Sheet2").Range("A20")
End Sub
----------------------------------------------

以上です。
 
    • good
    • 0

失礼しました。

cells(行、列) ですので、

Range("AE2",Range("IV2").End(xlToLeft)).Select

と記述するべきでしたね。

でも、よくよく内容を読みますと、最初に解答なさった方の通りですね。 駄文で申し訳ありませんでした。
    • good
    • 0
この回答へのお礼

ご連絡が遅れまして申し訳ありません。 なるほど。こういう記述も考えられるのですね。 大変参考になりました。ありがとうございます。 今後ともよろしくご指導下さい。

お礼日時:2005/05/04 00:17

cells は、単独のセルを選択するものなので、この場合、range を用いる方がよいかと思います。



 Range("B2",Range("B6554").End(xlUp)).Select

とすると、データのある列を拾ってくれると思います。
    • good
    • 0

Dim myrow As Long


と変数を宣言した上で、
myrow = ActiveCell.row
で、アクティブセルの行番号を取得し、
Range(Cells(myrow, 30), Cells(myrow, 256)).Select
で、希望のセル範囲が選択できます。
    • good
    • 1
この回答へのお礼

迅速かつ簡潔にご回答いただきありがとうございました。 的確に質問の意を汲んでいただき、胸のつかえがとれた思いです。 急用ができ、ご返事が今になってしまいましたがお許し下さい。 困っていた点は完全に解消いたしました。 本当にありがとうございました。

お礼日時:2005/05/04 00:14

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

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


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