• 締切済み

elupの使い方

はじめまして。 現在会社の仕事で必要に追われてエクセルのマクロを 勉強中のものです。 まだ基本的なことがしっかりと解っていないですが、 実際に色々作って勉強しているという段階です。 で、一つ困ったことがおきまして、自分ではどうしてなのか まったく解らなくなってしまい、ネットで調べてもどうしても わからないので、ここで質問させて頂くことにしました。 あるシートのA列(最終行が150)のコピーしたデータを貼り付けるとき Range("a150").End(xlUp).Offset(1, 0).Activate という風に、データの無い最終行を指定できると思うのですが、 これがなぜか、一度目の実行ではうまく機能するのに、 二度目の実行以降は、A列のデータのない最終行では無くて A列の先頭、つまりA1が選択されてしまうのです。 この原因が全くわからないのです・・・。 ちなみに、その部分を一部抜粋して貼り付けます。 Sheets("一時保管用").Activate Range("b3:m3").Select Selection.Copy Workbooks("出力用").Sheets("賃貸受注").Activate Range("a150").End(xlUp).Offset(1, 0).Activate ActiveSheet.Paste Workbooks("入力画面").Sheets("一時保管用").Activate Range("n3:q3").Select Selection.Copy Workbooks("出力用").Sheets("賃貸受注").Activate Range("n150").End(xlUp).Offset(1, 0).Activate ActiveSheet.Paste このような感じです。 そしてなぜか、その現象は上のA列のときにだけ発生し、 下のN列のときには発生しません。 これがわからずに、昨日からずっと悩んでいます。 どなたかこのわかりにくい説明で原因がわかるかたいましたら どうか教えて頂けたらと思います。

みんなの回答

  • lark_0925
  • ベストアンサー率63% (37/58)
回答No.1

Workbooks("出力用").Sheets("賃貸受注").Activate Range("a" & rows.count).End(xlUp).Offset(1, 0).Activate ActiveSheet.Paste Workbooks("出力用").Sheets("賃貸受注").Activate Range("n" & rows.count).End(xlUp).Offset(1, 0).Activate ActiveSheet.Paste としてみては?

ho-sime
質問者

お礼

回答ありがとうございました。 Range("a" & rows.count).End(xlUp).Offset(1, 0).Activate この部分なんですが、これだと一番したから上っていく ような意味合いだと思うんですが、 151行目に小計欄がありまして、できれば 150行目から上がっていくという形にしたいのです。 その場合は、どうすればいいのでしょうか・・・ せっかく教えていただいたのにすいません。

関連するQ&A