非表示にできる< 目次 >
セル選択の応用
セル選択の応用である、カレントリージョン(CurrentRegion)とユーズドレンジ(UsedRange)を覚えていきましょう。
重要なポイントは、セルの選択範囲 になります。
ポイント
セルに対する選択範囲の違いを覚えよう
カレントリージョン(CurrentRegion)
ショートカットCTRL+A と同じ効果を得られます。
<コードの説明>
1 |
Range("B2").CurrentRegion |
コードの使い方
CurrentRegion はCopyと併用することが最も多いです。
◎実例紹介-その1
<実例コード>
1 |
Range("起点セル").CurrentRegion.Copy Range("対象セル") |
また、CurrentRegionは範囲選択になることから、
様々なセルで構成されているといえ Object変数にのみ格納できます。
◎実例紹介-その2
<実例コード>
1 2 3 |
Dim 変数名 As ObjectSet 変数名 = Range(“B2”).CurrentRegion 変数名.Copy Range("A1") |
ユーズドレンジ(UsedRange)
EXCELシート全体に対して、
ショートカットCTRL+SHIFT+END とほぼ同じ 効果を得られます。
データがある全てのセル範囲を取得することができます。
<コードの説明>
1 |
Worksheets(“シート名”). UsedRange |
コードの使い方
UsedRangeはCopyと併用することが最も多いと思います。
※CurrentRegionと同様です。
◎実例紹介-その1
<実例コード>
1 |
Worksheets("シート名").UsedRange.Copy Worksheets("シート名").Range("貼付先セル") |
◎実例紹介-その2
<実例コード>
1 2 3 |
Dim 変数名 As ObjectSet 変数名 = Worksheets("シート名").UsedRange 変数名.Copy Worksheets("シート名").Range("貼付先セル") |
【参考 】 全選択コピー貼付(コード紹介)
シート全てをコピーして違うシートに貼付したい時のコードを説明します。
コードのみの紹介となります。
全てのセルを値貼付けするためには下記のコードが最適です。
これは そのまま使用した方が良いのでマネしましょう。
1 2 3 4 5 6 7 |
Sub 全選択コピー貼付() Worksheets("コピー元のシート名").Cells.Copy Worksheets("コピー先のシート名").Cells.PasteSpecial xlPasteValues Application.CutCopyMode = False End Sub |
【補足 】 Cells / Range が曖昧な人はこちらへ
別記事に、Cells/Rangeの基本知識を学べる記事を用意しています。
内容に不安があったら、こちらを参照ください。
-
【解説付】VBA-Cell/Range構文の基本・ルール【EXCEL VBA】
続きを見る
終わりに
いかがでしたでしょうか。
トライ&エラーを重ねて プログラムは理解が深まっていくので、
積極的に挑戦し理解を深めていきましょう。
こちらは宣伝になりますが、
もしVBA全般のルール・ 基本知識を身に付けたい方がいらっしゃいましたら、
本ブログでは「1週間で分かるVBA 」 なる記事もご紹介していますので、
一度 覗いてみてくれると幸いです。(当然、無料です。)
もしVBA全般のルール・
本ブログでは「1週間で分かるVBA 」 なる記事もご紹介していますので、
一度 覗いてみてくれると幸いです。(当然、無料です。)