2016年09月22日
エクセル(Excel)技,VBA,RangeとCells
Microsoft Accessに関してはこちら
・RangeとCells
セルを選択する場合RangeとCellsのどちらを使用すればいいのか。
Rangeを使用する時は
・固定位置のセルの場合
・セル範囲(複数セルの選択)の場合
上記以外は通常Cellsを使用します。
例)C5の場合
Range(“C5”)という表現になります。セル名は” ”で囲む。
Cells(5,3)という表現になります。Cellsは(行,列)になります。
範囲を選択する場合はRange(始点セル:終点セル)です。
複数行の場合はRange(Rows(1):Rows(5))で1行目から5行目が選択されます。
複数列の選択の場合はRange(Columns(1):Columns(3))で1列目(A列)から
3列目(C列)までが選択されます。
セルを変数で使用する場合はCells,Rows,Columnsを使用しましょう。
使用例
Range(“A5”).Select・・・A5セルが選択されます。
Cells(5,1).Select・・・A5セルが選択されます。
Cellsの場合変数も使用できます。
例)
Dim i as Long・・・「変数i」を宣言
i=5・・・「変数i」に5を格納
Cells(i,1).Select・・・A5セルを選択
・DeleteとClearContents
Deleteはセルごと削除して上に詰めます(詰める方向は指定出来ます)
ClearContentsはセルの中身を消去します。
例)
Range(“A1:B3”).Delete Shift := xlShiftUp・・・A1からB3まで削除して上に詰めます。
列削除の場合はRange(“B:B”).Delete・・・B列の削除
行削除の場合はRange(“2:2”).Delete・・・2行目の削除
Range(“A1:B3”). ClearContents・・・ClearContentsは単純にA1からB3の内容を消去します。
※オブジェクト・メソッド・プロパティの話
本来もっと早く説明しておく必要のある事柄だと思います。
「オブジェクト」とは「もの」「対象」「目的」という意味があります。
エクセルの場合、「ワークシート」「Range」等を差します。階層構造になっています。
「メソッド」というのは「命令」「操作」という意味で「オブジェクト」に対して命令することです。
「プロパティ」というのは「属性」という意味で「幅」「色」「高さ」などの事です。
上記のRange(“A1:B3”). ClearContentsは本来Sheet1.Range(“A1:B3”). ClearContents
と書くべきなのです。複数シートがある場合、どのシートなのか区別がつかないので
Sheet1というオブジェクトを指定する。Sheet1もRange(“A1:B3”)もオブジェクト、
ClearContentsがメソッド部分に当たります。
時々プログラムを書いていて「オブジェクトが見当たりません」等のエラーメッセージが
出る場合があります。そのようなときは「オブジェクト」を指定しているかどうか確認してください。
人気ブログランキングへ
・RangeとCells
セルを選択する場合RangeとCellsのどちらを使用すればいいのか。
Rangeを使用する時は
・固定位置のセルの場合
・セル範囲(複数セルの選択)の場合
上記以外は通常Cellsを使用します。
例)C5の場合
Range(“C5”)という表現になります。セル名は” ”で囲む。
Cells(5,3)という表現になります。Cellsは(行,列)になります。
範囲を選択する場合はRange(始点セル:終点セル)です。
複数行の場合はRange(Rows(1):Rows(5))で1行目から5行目が選択されます。
複数列の選択の場合はRange(Columns(1):Columns(3))で1列目(A列)から
3列目(C列)までが選択されます。
セルを変数で使用する場合はCells,Rows,Columnsを使用しましょう。
使用例
Range(“A5”).Select・・・A5セルが選択されます。
Cells(5,1).Select・・・A5セルが選択されます。
Cellsの場合変数も使用できます。
例)
Dim i as Long・・・「変数i」を宣言
i=5・・・「変数i」に5を格納
Cells(i,1).Select・・・A5セルを選択
・DeleteとClearContents
Deleteはセルごと削除して上に詰めます(詰める方向は指定出来ます)
ClearContentsはセルの中身を消去します。
例)
Range(“A1:B3”).Delete Shift := xlShiftUp・・・A1からB3まで削除して上に詰めます。
列削除の場合はRange(“B:B”).Delete・・・B列の削除
行削除の場合はRange(“2:2”).Delete・・・2行目の削除
Range(“A1:B3”). ClearContents・・・ClearContentsは単純にA1からB3の内容を消去します。
※オブジェクト・メソッド・プロパティの話
本来もっと早く説明しておく必要のある事柄だと思います。
「オブジェクト」とは「もの」「対象」「目的」という意味があります。
エクセルの場合、「ワークシート」「Range」等を差します。階層構造になっています。
「メソッド」というのは「命令」「操作」という意味で「オブジェクト」に対して命令することです。
「プロパティ」というのは「属性」という意味で「幅」「色」「高さ」などの事です。
上記のRange(“A1:B3”). ClearContentsは本来Sheet1.Range(“A1:B3”). ClearContents
と書くべきなのです。複数シートがある場合、どのシートなのか区別がつかないので
Sheet1というオブジェクトを指定する。Sheet1もRange(“A1:B3”)もオブジェクト、
ClearContentsがメソッド部分に当たります。
時々プログラムを書いていて「オブジェクトが見当たりません」等のエラーメッセージが
出る場合があります。そのようなときは「オブジェクト」を指定しているかどうか確認してください。
人気ブログランキングへ
タグ:RangeとCells
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/5459860
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック