本ページには広告が含まれています。
目次
セル、行、列、連続した1つ以上のセル範囲を表します。
- 構文
- Range = Range.[_Default]( Cell1, Cell2 )
- 既定プロパティ
- Range.Value プロパティ
- 引数
- Cells1 省略可
- 範囲を指定します。範囲名には、範囲を表す演算子:、共通部分を表すスペース 、または複数の範囲を表す演算子,を使うことができます。
- Cells2 省略可
- セル範囲の左上隅と右下隅のセルを指定します。
- 戻り値
- セルまたはセル範囲を表すRange オブジェクト
Range オブジェクト を返すメソッド・プロパティ
- Range オブジェクト
- セル、行、列、連続した1つ以上のセル範囲を表します。
- Application.ActiveCell プロパティ
- セルまたはセル範囲を表すRangeオブジェクトを返します。
- Application.Cells プロパティ
- 作業中のワークシートのすべてのセルを表すRange オブジェクトを返します。
- Excel.Range
- セル、行、列、連続した1つ以上のセル範囲を表します。
- Application.Selection プロパティ
- Applicationオブジェクトのアクティブなワークシートで現在選択されているオブジェクトを返します。
- Excel.Range
- 指定した条件に一致する最初のセルを検索します。
- Excel.Range
- Findメソッドによって開始された検索を続行します。前回の検索条件に一致するセルを、下方向(行のときは左から右、列のときは上から下)に検索し、見つかったセル(Rangeオブジェクト)を返します。選択範囲やアクティブセルには影響はありません。
- Excel.Range
- 範囲内のセルから特定の条件に一致するRange オブジェクトを返します。条件は、セルの種類(数値、テキスト、エラーなど)やセルの状態(空白、定数、数式など)に基づいて指定することができます。
- Excel.Range
- 指定した範囲の列を表すRange オブジェクトを返します。
- Excel.Range
- 現在の領域を表すRange オブジェクトを返します。
- Excel.Range
- 対象セル範囲の領域における終端のRange オブジェクトへの参照を返します。
- Excel.Range
- 指定された範囲を含む1つまたは複数の列全体を表すRange オブジェクトを返します。読み取り専用です。
- Excel.Range
- 指定されたセル範囲を含む行全体を表すRange オブジェクトを返します。読み取り専用です。
- Excel.Range
- 指定したセル範囲のオフセット値で指定される範囲を表すRange オブジェクトを返します。
- Excel.Range
- 指定された範囲からオフセットした範囲を表すRange オブジェクトを返します。
- Excel.Range
- 指定された範囲のサイズを変更します。サイズが変更されたセル範囲を表すRange オブジェクトを返します。
- Excel.Range
- 指定した範囲の行を表すRange オブジェクトを返します。
- Worksheet.Range プロパティ
- セル、行、列、連続した1つ以上のセル範囲を表します。
関連するメソッド・プロパティ
セルの指定の仕方
単一セル
セルA1を指定する例。
WITH Excel
.Range("A1")
.Range(.Cells(1, 1).Address)
ENDWITH
セル範囲
セル範囲A1〜C5を指定する例。
WITH Excel
.Range("A1:C5")
.Range("A1", "C5")
.Range(.Range("A1"), .Range("C5"))
.Range(.Cells(1, 1), .Cells(5, 3))
.Range("A1", .Cells(5, 3))
.Range(.Cells(1, 1), "C5")
.Range(.Range("A1"), .Cells(5, 3))
.Range(.Cells(1, 1), .Range("C5"))
ENDWITH
複数セル
複数のセルまたはセル範囲を指定する場合、「,(カンマ)」で区切り指定します。
Excel.Range("A1,B3") // セルA1とセルB3
名前付きセル範囲
引数に定義した名前の文字列を指定します。セル範囲に名前を定義するには、Excel.Rangeを使います。
Excel.Range("定義した名前")
共通セル範囲
セルまたはセル範囲を半角のスペースで区切ると共通するセル範囲を取得できます。
WITH Excel
.Range("A1:D6 B4:F8") // .Range("B4:D6")
.Range("A1:D6 B4:F8 B5:B10") // .Range("B5:B6")
ENDWITH
行・列
WITH Excel
.Range("1:1") // 1行目のすべてのセル
.Range("1:3") // 1〜3行目のすべてのセル
.Range("1:5,8:9") // 1〜5行目、8〜9行目のすべてのセル
.Range("B:B") // B列(2列目)のすべてのセル
.Range("B:E") // B〜E列(2〜5列目)のすべてのセル
.Range("A:C,E:F") // A〜C列、E〜F列のすべてのセル
ENDWITH
メソッド
<表示切り替え>- Activate
- 1つのセルをアクティブにします。セルは現在の選択範囲内にある必要があります。セルの範囲を選択するには、Selectメソッドを使用します。
- AutoFill
- 指定された対象セル範囲内のセルに対してオートフィルを実行します。
- AutoFilter
- オートフィルターを使ってリストをフィルター処理します。
- ClearComments
- 指定されたセル範囲からすべてのコメントを消去します。
- ClearHyperlinks
- 指定された範囲からすべてのハイパーリンクを削除します。
- Copy
- 範囲を、指定の範囲またはクリップボードにコピーします。
- DiscardChanges
- 編集されたセル範囲内のすべての変更を破棄します。
- PasteSpecial
- 指定された範囲にコピーされたRangeオブジェクトを貼り付けます。
- Select
- オブジェクトを選択します。
プロパティ
<表示切り替え>- Borders
- セルの罫線を表します。
- Comment
- Count
- コレクションに含まれるオブジェクトの数を返します。
- NumberFormatLocal
- Orientation
- Row
- 範囲内の最初の領域の行番号を返します。
- Value
プログラム実行例
罫線を引く
B2セルにカラーパレット1番の色で罫線(外枠)を引きます。
CONST xlContinuous = 1
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()
DIM Borders = Excel.Range("B2").Borders
WITH Borders
.LineStyle = xlContinuous
.ColorIndex = 1
ENDWITH
使用関数
日付の連続データを入力する*
A1セルに2021/01/01と入力し、行方向に1日ずつ加算し2021/12/31まで入力します。
A1セルに2021/01/01と入力し、[フィル]→[連続データの作成]で範囲を行、種類を日付、増加単位を日、増分値を1、停止値を2021/12/31と設定するのと同様です。
CONST xlCols = 2
CONST xlChronological = 3
CONST xlDay = 1
WITH Excel.Range("A1")
.Value = "2021/01/01"
.DataSeries(xlCols, xlChronological, xlDay, 1, "2021/12/31")
.EntireColumn.AutoFit
ENDWITH
使用関数
1〜12月の連続データを作成*
WITH Excel.Range("A1")
.Value = "1月"
.AutoFill(.Resize(12))
ENDWITH
使用関数
2ヶ月毎の連続データを入力*
CONST xlColumns = 2
CONST xlChronological = 3
CONST xlMonth = 3
WITH Excel.Range("A1")
.Value = "2021/01/01"
.DataSeries(xlColumns, xlChronological, xlMonth, 2, "2021/12/31")
.EntireColumn.AutoFit
ENDWITH
使用関数
セルの位置を取得*
現在選択されているセル情報を取得します。Book1シートのA1セルが選択されている状態で実行しています。
CONST xlA1 = 1
CONST xlR1C1 = -4150
WITH Excel.Application.Selection
PRINT "絶対参照<#TAB><#TAB>" + .Address
PRINT "絶対参照(行)<#TAB>" + .Address(TRUE, FALSE)
PRINT "絶対参照(列)<#TAB>" + .Address(FALSE, TRUE)
PRINT "相対参照<#TAB><#TAB>" + .Address(FALSE, FALSE)
PRINT "R1C1形式<#TAB><#TAB>" + .Address(TRUE, TRUE, xlR1C1)
PRINT "外部参照<#TAB><#TAB>" + .Address(TRUE, TRUE, xlR1C1, TRUE)
ENDWITH
結果
絶対参照 $A$1
絶対参照(行) A$1
絶対参照(列) $A1
相対参照 A1
R1C1形式 R1C1
外部参照 [Book1]Sheet1!R1C1
使用関数
表を作成
// XlBordersIndex
CONST xlDiagonalDown = 5
CONST xlEdgeLeft = 7
CONST xlEdgeTop = 8
CONST xlEdgeBottom = 9
CONST xlEdgeRight = 10
// XlLineStyle
CONST xlDouble = -4119
CONST xlContinuous = 1
// XlBorderWeight
CONST xlThick = 4
DIM Excel = ExcelBoot()
WITH Excel
.Range("B2:F6").Borders.LineStyle = xlContinuous
.Range("B2:F6").BorderAround(xlContinuous, xlThick)
.Range("F2:F6").Borders(xlEdgeLeft).LineStyle = xlDouble
.Range("B6:F6").Borders(xlEdgeTop).LineStyle = xlDouble
.Range("B2").Borders(xlDiagonalDown).LineStyle = xlContinuous
WITH .Range("B2:B6").Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
ENDWITH
WITH .Range("B2:F2").Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
ENDWITH
ENDWITH
//////////////////////////////////////////////////
// 【引数】
// path : 開くファイルのパス名
// 【戻り値】
// <a href="https://uwsc.jp/com/excel/" >Excel オブジェクト</a>
//////////////////////////////////////////////////
FUNCTION ExcelBoot(path = "")
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
IFB path = "" THEN
Excel.Workbooks.Add
ELSE
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
IFB FSO.GetParentFolderName(path) = "" THEN
path = GET_CUR_DIR + "\" + path
ENDIF
Excel.Workbooks.Open(path)
ENDIF
RESULT = Excel
FEND
結果

使用関数
解説
ソート
人口の多い順にソートします。
使用したファイルをダウンロードできます。
[download "/example/510/都道府県別人口.xlsx"]CONST xlDown = -4121
CONST xlSortOnValues = 0
CONST xlDescending = 2
CONST xlSortNormal = 0
CONST xlYes = 1
CONST xlGuess = 0
CONST xlTopToBottom = 1
CONST xlPinYin = 1
DIM Excel = ExcelBoot("D:\Documents\都道府県別人口.xlsx")
WITH Excel.ActiveSheet
WITH .Sort
WITH .SortFields
.Clear
.Add(Excel.Range("C2").End(xlDown), xlSortOnValues, xlDescending, xlSortNormal)
ENDWITH
.SetRange(Excel.Range("A1").CurrentRegion)
.Header = xlYes
.MatchCase = FALSE
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
ENDWITH
ENDWITH
//////////////////////////////////////////////////
// 【引数】
// path : 開くファイルのパス名
// 【戻り値】
// <a href="https://uwsc.jp/com/excel/" >Excel オブジェクト</a>
//////////////////////////////////////////////////
FUNCTION ExcelBoot(path = "")
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
IFB path = "" THEN
Excel.Workbooks.Add
ELSE
DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
IFB FSO.GetParentFolderName(path) = "" THEN
path = GET_CUR_DIR + "\" + path
ENDIF
Excel.Workbooks.Open(path)
ENDIF
RESULT = Excel
FEND
使用関数
解説
コロナのPCR検査実施人数のグラフを生成(Excel)
オープンデータ|厚生労働省のPCR検査実施人数のCSVデータを使用。
CONST xlColumnClustered = 51
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Open("D:\Downloads\pcr_tested_daily.csv")
DIM Range = Excel.Range("A1").CurrentRegion
DIM Charts = Excel.Charts.Add() // Sheetsオブジェクト
WITH Charts
.ChartType = xlColumnClustered
.SetSourceData(Range)
ENDWITH
結果


使用関数
参考文献
関連記事
- Application.ActiveCell プロパティ (Excel)
- セルまたはセル範囲を表すRangeオブジェクトを返します。
- Application.Cells プロパティ (Excel)
- 作業中のワークシートのすべてのセルを表すRange オブジェクトを返します。
- Range.Activate メソッド (Excel)
- 1つのセルをアクティブにします。セルは現在の選択範囲内にある必要があります。セルの範囲を選択するには、Selectメソッドを使用します。
- Range.AutoFill メソッド (Excel)
- 指定された対象セル範囲内のセルに対してオートフィルを実行します。
- Range.AutoFilter メソッド (Excel)
- オートフィルターを使ってリストをフィルター処理します。
- Range.ClearComments メソッド (Excel)
- 指定されたセル範囲からすべてのコメントを消去します。
- Range.ClearHyperlinks メソッド (Excel)
- 指定された範囲からすべてのハイパーリンクを削除します。
- Range.Copy メソッド (Excel)
- 範囲を、指定の範囲またはクリップボードにコピーします。
- Range.DiscardChanges メソッド (Excel)
- 編集されたセル範囲内のすべての変更を破棄します。
- Range.NumberFormatLocal プロパティ (Excel)