記述の規則 開始・終了処理 プログラム制御 ファイル操作
ワークブック・シート操作 セル・行・列の操作 セルの書式設定 関数
ウィンドウ操作 グラフ操作 データベースの操作 印刷
 
Page Index
●セルを参照する(Rangeプロパティ)
●セルを参照する(Cellsプロパティ)
●セルを参照する(Offsetプロパティ)
●セルを参照する(Offsetプロパティ)
●セルを参照する(SpecialCellsメソッド)
●行・列を指定する(Columns/Rowsプロパティ)
●セルの範囲選択(Selectメソッド)
●セルをアクティブにする(Activateメソッド)
●アクティブなセルを把握する(ActiveCellプロパティ)
●選択されているセルを参照する(Selectionプロパティ)
●選択されているセル範囲を参照する(RangeSelectionプロパティ)
●複数のセル範囲を1つのオブジェクトとして扱う(Unionメソッド)
●セル範囲に範囲名を設定する(Nameプロパティ)
●AutoFilterでフィルタリングする
●AutoFilterをリセットする
●Rangeのセル指定の一部に変数を用いる
●Sheet のセル範囲 A1〜G37 を並べ替える
●アクティブ セルからの相対位置のセルをアクティブにする
●セル内の氏名の末尾に様を追加する
●セル範囲の列 A、B、および C の数式を計算する
●データの行と列を入れ替える
●可変の複数行を選択する
●関数を使用してセル集計する
●使われたセル範囲の最後のセルの行番号・列番号を求める
●使われたセル範囲の最後のセルを選択する
指定されたセル範囲をコレクション内の他のすべてのワークシートの同じ領域にコピーする
●選択行の行端を求める
●可変の複数行を選択する
●セルの色を指定する
 
本章では、セルや行・列に関するコードサンプルを例示しています。
 
セルを参照する(Rangeプロパティ) ↑ このページの最初へ
Cellsプロパティは、セルをセル番地またはセル範囲で指定できる。

Range(セル番地(またはセル範囲))

<記述例>
Range("A1")
Range("A1:A10")
Range("A1","B10","C32")
Range("A" & i)
 
セルを参照する(Cellsプロパティ) ↑ このページの最初へ
Cellsプロパティは、セルを行・列番号で指定できる。

Cells(行番号,列番号)

<記述例>
Cells(1, 1)
Cells(1, 2)
Cells(RowNo, ColNo)
Range(Cells(1,1),Cells(3,4))
Range(Cells(x1,y1),Cells(x2,y2))
 
セルを参照する(Offsetプロパティ) ↑ このページの最初へ
指定したセル位置から、行列方向に指定した数だけずらした位置のセルに、アクセスできるようになる。

Offset(行数, 列数)

<記述例>
Range("A1").Offset(10, 5)
 
セルを参照する(SpecialCellsメソッド) ↑ このページの最初へ
条件に一致するセルを把握することができる。
たとえば、表の中で空白のセルだけを選択して値を代入したい場合などは、このメソッドを使用する。

SpecialCells(Type, Value)

<使用例 表の中の空白のセルだけを選択し「---」と入力する>
Worksheets("Sheet5").Range("B7:F26"). SpecialCells(xlCellTypeBlanks) = "---"

引数 Type
--------------------------------------------
xlCellTypeNotes コメントが含まれているセル
xlCellTypeConstants 定数が含まれているセル
xlCellTypeFormulas 数式が含まれているセル
xlCellTypeBlanks 空の文字列
xlCellTypeLastCell 使われたセル範囲内の最後のセル
xlCellTypeVisible すべての可視セル

引数 Value
-------------------------------------------
xlErrors
xlLogical
xlNumbers
xlTextValues
xlAllFormatConditions
xlSameFormatConditions

引数「Value」は、引数「Type」に 定数「xlCellTypeConstants」 または「xlCellTypeFormulas」を設定した時に使用すると、特定の種類の定数や数式を含むセルを把握することができる。
この引数を省略すると、すべての定数または数式が対象になる。
 
行・列を指定する(Columns/Rowsプロパティ) ↑ このページの最初へ
指定したセル範囲の列番号や行番号を把握する。

Columns(列番号)
Rows(列番号)

<記述例>
Columns(1)
Columns("A:D").Select
Rows(1)
Rows("5:11")
 
セルの範囲選択(Selectメソッド) ↑ このページの最初へ
Object.Select

<記述例>
Range("A1:D10").Select
Rows.Select
 
セルをアクティブにする(Activateメソッド) ↑ このページの最初へ
セルをマウスでクリックしたのと同じ状態にする。

Object.Activate

<記述例>
Range("A1").Activate
Cells(1,1).Activate
 
アクティブなセルを把握する(ActiveCellプロパティ) ↑ このページの最初へ
Object.ActiveCell

<記述例>
ActiveCell = "アクティブ"
ActiveCell.Interior.ColorIndex = 3
 
選択されているセルを参照する(Selectionプロパティ) ↑ このページの最初へ
現在選択されているオブジェクトを返す。

Selection.プロパティ(またはメソッド)

<記述例>
Selection.Font.Size = 12
 
選択されているセル範囲を参照する(RangeSelectionプロパティ) ↑ このページの最初へ
現在アクティブなウィンドウのワークシートで選択されているセル範囲を返す。

Window.RangeSelection

<記述例>
ActiveWindow.RangeSelection.Address
 
複数のセル範囲を1つのオブジェクトとして扱う(Unionメソッド) ↑ このページの最初へ
複数のセル範囲を1つのオブジェクトとして扱う(Unionメソッド)

Union(引数11, 引数2, ...)

<記述例>
Union(Range("B8:B26"), Range("D8:D26")).Font.Bold = True
 
セル範囲に範囲名を設定する(Nameプロパティ) ↑ このページの最初へ
Object.Name = 文字列

<記述例>
Range("a1:b1").Name = "apple"
Range("apple").Font.Bold = True
 
AutoFilterでフィルタリングする ↑ このページの最初へ
With ActiveSheet
If Not .AutoFilterMode Then .Range("A1").AutoFilter   ' フィルターのセット
End Wit

Selection.AutoFilter Field:=1, Criteria1:="b"         '文字列"b"の行を選択
 
AutoFilterをリセットする ↑ このページの最初へ
If AutoFilterMode Then AutoFilterMode = False
 
Rangeのセル指定の一部に変数を用いる ↑ このページの最初へ
Const hensu1 As Integer = 21
Const hensu2 As String = "B"

Sheets("Sheet1").Activate
Range("A" & hensu1).Select 'A21
Range(hensu2 & "21").Select 'B21
 
Sheet のセル範囲 A1〜G37 を並べ替える ↑ このページの最初へ
セル A1 を最優先させるキー フィールド、セル C1 を 2 番目に優先させるキー フィールドとし、コード順に従って昇順になるように、行単位で並べ替えます。範囲の先頭行も、見出しではなく、データとして扱われます。

Worksheets("Sheet1").Range("A1:G37").SortSpecial _
sortMethod:=xlCodePage, _
key1:=Range("A1"), order1:=xlAscending, _
key2:=Range("C1"), order2:=xlAscending
 
アクティブ セルからの相対位置のセルをアクティブにする ↑ このページの最初へ
次の使用例は、Sheet1 のアクティブ セルから 3 列右、3 行下のセルをアクティブにします。

Worksheets("Sheet1").Activate
ActiveCell.Offset(rowOffset:=3, columnOffset:=3).Activate

次の使用例は、Sheet1 で見出し行のあるリストから、見出し行は選択せずに、データ部分だけを選択します。この使用例を実行する前に、リストのいずれかのセルをアクティブにしておいてください。

Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).Select
 
セル内の氏名の末尾に様を追加する                         ↑ このページの最初へ
↑ このページの最初へ
Range("A1").Select
Do Until ActiveCell.Value = ""
ActiveCell.Value = ActiveCell.Value & "様"
ActiveCell.Offset(1).Select
Loop
セル範囲の列 A、B、および C の数式を計算する ↑ このページの最初へ
Sheet1 の使用されたセル範囲の列 A、B、および C の数式を計算します。

Worksheets("Sheet1").UsedRange.Columns("A:C").Calculate
 
データの行と列を入れ替える ↑ このページの最初へ
Sheets("Sheet1").Activate
Range("A1:E5").Select
Application.CutCopyMode = False
Selection.Copy

Range("A6:E10").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=True

*TransposeにTrue を指定すると、貼り付けの際にデータの行と列を入れ替えます。
 
可変の複数行を選択する ↑ このページの最初へ
Dim stRow, edRow As Integer
Worksheets("Sheet1").Activate
stRow = 3
edRow = 13
Rows("" & stRow & ":" & edRow & "").Select
 
関数を使用してセル集計する ↑ このページの最初へ
Dim myRange As Range '項目定義シートの範囲

Set myRange = Sheets(Sheet2).Range(Cells(8, 5), Cells(20, 5))
rlen = Application.Sum(myRange)
 
使われたセル範囲の最後のセルの行番号・列番号を求める ↑ このページの最初へ
'SpecilaCells(xlLastCell)は終端セルではなく、最後に使用されたセルを返す

Dim gyo As Integer
Dim ret As Integer

Worksheets("Sheet1").Activate
gyo = ActiveSheet.Cells.SpecialCells(xlLastCell).Row
ret = ActiveSheet.Cells.SpecialCells(xlLastCell).Column

'最後の行から上に向かって空白でないセルを探す

gyo = Range("A65536").End(xlUp).Row
 
使われたセル範囲の最後のセルを選択する ↑ このページの最初へ
Sheet1 で使われたセル範囲の最後のセルを選択します。

Worksheets("Sheet1").Activate
ActiveSheet.Cells.SpecialCells(xlLastCell).Activate
 
指定されたセル範囲をコレクション内の他のすべてのワークシートの同じ領域にコピーする
↑ このページの最初へ
指定されたセル範囲をコレクション内の他のすべてのワークシートの同じ領域にコピーする

次の使用例は、Sheet1 のセル範囲 A1:C5 の内容を、Sheet5 および Sheet7 の同じ範囲にも
入力します。

x = Array("Sheet1", "Sheet5", "Sheet7")
Sheets(x).FillAcrossSheets _
Worksheets("Sheet1").Range("A1:C5")
 
選択行の行端を求める ↑ このページの最初へ
Dim stRow, edRow As Integer

Worksheets("Sheet1").Activate
stRow = Selection.Row
edRow = Selection.Row + Selection.Rows.Count - 1
MsgBox (stRow & "To" & edRow)
 
可変の複数行を選択する ↑ このページの最初へ
Dim stRow, edRow As Integer

Worksheets("Sheet1").Activate
stRow = 3
edRow = 13
Rows("" & stRow & ":" & edRow & "").Select
 
セルの色を指定する ↑ このページの最初へ
セル「A1」のフォントを青色にする
 Worksheets("Sheet1").Range("A1").Font.ColorIndex = 5

「A1」のフォントを赤色にする
Worksheets("Sheet1").Range("A1").Font.Color = &HFFF

「A1」のフォントをサーモン色に設定する
Worksheets("Sheet1").Range("A1") _
                                  .Font.Color = RGB(250, 80, 160)

セル「A1」をマジェンタで塗りつぶす
Worksheets("Sheet1").Range("A1") _
                                       .Interior.ColorIndex = 7

「A1」を黄色で塗りつぶす
Worksheets("Sheet1").Range("A1") _
                              .Interior.Color = RGB(255, 255, 0)
 

↑ このページの最初へ

  ご意見・ご感想をお寄せください。info@beagle-hc.com ‖ このサイトについて                                     
  Copyright 2006 - 2009 uTRAM Corp. All Rights Reserved
BEAGLE-HC
HOME くすりのこと 研究開発 個別業務 IT 広報・教育 団体・組織

医薬品・医療機器の研究・開発 ポータルサイト
          サイトマップ
 現在位置 : HOME > IT プログラミング > Excel コードライブラリアン(セル・行・列の操作)