[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シートコピー』(XX)
お世話になります。
Sheet1 C列〜I列の値を、シート2のB のデータが 入っているところまで、という風に以下のようにコードを組んでいますが、
Range(Range("C10"), Range("I65536").End(xlUp)).Copy _ Destination:=Worksheets("sheet2").Range("B65536").End(xlUp).Offset(1)
これで通常は動くのですが、シート1のIにデータが入っておらず空白の場合、 コピーがずれてコピーされてしまいます。 I列にデータが入っていなくてもきっちりI列までコピーすることはできますか?
A B C D E F G H I 10 dd dd dd dd dd dd dd dd dd 11 bg tg gf de dd dd dd 空白 空白 12 dd dd dd 空白 tg tg tg dd 空白 13 tg tg tg 空白 空白 空白 空白 tg 空白 14 空白 空白 dd dd dd 空白 空白 空白 空白 15 空白 空白 tg tg tg 空白 空白 空白 空白
CurrentRegion UsedCell SpecialCells(xlCellTypeLastCell) を使ってみてはいかがでしょう? (MARBIN)
MARBINさま 有難う御座います。 Range(Range("C10"), Range("I65536").End(xlUp)).CurrentRegion.Cells.SpecialCells (xlCellTypeBlanks).Copy _ Destination:=Worksheets("sheet2").Range("B65536").End(xlUp).Offset(1) ということでしょうか?素人ですみません。(XX)
一緒に使ってくださいということではありません。 提示した各キーワードをVBAヘルプで調べてみてください。 使い方が分かると思います。 (MARBIN)
初心者なのでよく分かっておらずすみません。いろいろ調べましたが、 Range(Range("C10"), Range("C10").CurrentRegion.SpecialCells(xlCellTypeLastCell)).Copy _ Destination:=Worksheets("sheet2").Range("B65536").End(xlUp).Offset(1) でよろしいでしょうか?教えてください。(XX)
Worksheets(1).Range("C10").CurrentRegion でWorksheets(1)のA10セルが属する表範囲全体を取得します。
Worksheets(1).UsedCell でWorksheets(1)の使用セル範囲全体を取得します。
Worksheets(1).Cells(1, 1).SpecialCells(xlCellTypeLastCell) でWorksheets(1)の最後のセルを取得します。
(MARBIN)
> Worksheets(1).UsedCell >でWorksheets(1)の使用セル範囲全体を取得します。 ???????? (とんちんかん)
おもいっきり寝ぼけたレスでしたね。失礼しました。 >UsedCell ↓でした。 UsedRange (MARBIN)
MARBIN様詳しい解説有難う御座います。 単体ずつでは意味がわかるんですが、例示に当てはめると 応用が利かずわからなくなってしまいます(;_;)XX
こんな塩梅に範囲の最下行を取得する事もでけます。 (弥太郎) Sub 最下行() MsgBox "C〜Iまでの最下行は " & Range("c:i").Cells.Find _ ("*", , , , xlByRows, xlPrevious).Row & "でっせ" End Sub
お邪魔します^^ C列の最終行までをコピーするっていうのであれば こんな感じでもいいのでしょうか? Range("C10:I" & Range("C" & Rows.Count).End(xlUp).Row).Copy (キリキ)(〃⌒o⌒)b
みなさま ありがとうござます。うまくいきました。大変勉強になり、うれしいです。(XX)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.