Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11935 / 76734 ←次へ | 前へ→

【70327】最終行までの範囲取得について
質問  どぢょりん  - 11/11/2(水) 1:15 -

引用なし
パスワード
   お世話になります。
初心者レベルです。

シート1にはデータが入っています(B〜R列、300〜400行程度、3行目から)。
シート1の該当行のみA列に数字を入力し、数字の入っている行だけをシート2に貼り付けようと思い、以下のように記述しました。

Range("A3:A65536").SpecialCells(xlCellTypeConstants).EntireRow.Copy
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste

しかし、最終行を取得するのにエクセルのバージョンに依存しないほうがいいかと思い、下記のように変更しました。

Range("A3", Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeConstants).EntireRow.Copy
Sheets("Sheet2").Select
Range("A1").Select
ActiveSheet.Paste

ところがこの場合、例えばA3とA4に数字が入っている場合はコピーされますが、A3だけの場合はコピーされないことがわかりました。
最初の記述ではA3だけでもコピーされます。

なぜ、このようになるのかが分からなくて困っています。
教えてください。

また、現在は行全体をコピーして転記していますが、
データはR列までしかないので、A〜R列のみのコピーに変更したいと考えていますが、どのように変えたらいいのでしょうか。あるいは、このままのほうがいいのでしょうか。

よろしくお願いします。
6 hits

【70327】最終行までの範囲取得について どぢょりん 11/11/2(水) 1:15 質問
【70328】Re:最終行までの範囲取得について UO3 11/11/2(水) 6:01 発言
【70333】Re:最終行までの範囲取得について ichinose 11/11/2(水) 18:53 発言
【70335】Re:最終行までの範囲取得について 訂正 ichinose 11/11/2(水) 19:39 発言
【70338】Re:最終行までの範囲取得について 訂正 どぢょりん 11/11/2(水) 23:34 お礼

11935 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free