BEAGLE-HC 医薬品、医療機器の研究・開発 ポータルサイト
 現在位置 : HOME > ITの活用 プログラミング > Excel コードライブラリアン(セル・行・列の操作)
くすりのこと
 治療薬の最前線
データブック
 ヘルスケア市場
 データブック
 (売上ランキング)
ニュース
 企業ニュース
 (パイプラインニュース)
 (財務・決算ニュース)
 (M&Aニュース)
 メディアニュース
ITの活用
 バリデーション
 セキュリティ
 WORD文書の作成
 プログラミング
 (Word/VBA)
 (Excel/VBA)
 (Access/VBA)
 (SAS)
 (SQL)
イベント
 イベントカレンダ
製薬会社研究
 製薬会社
 製薬会社研究
 決算短信一覧
 
 
 
記述の規則 開始・終了処理 プログラム制御 ファイル操作
ワークブック・シート操作 セル・行・列の操作 セルの書式設定 関数
ウィンドウ操作 グラフ操作 データベースの操作 印刷
サンプルプログラム      
 
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")
行を削除する ↑ このページの最初へ
Rows(行番号).Select
Selection.Delete Shift:=xlUp
行を挿入する ↑ このページの最初へ
Rows(行番号).Insert Shift:=xlDown
セルの範囲選択(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
セルにコメントを挿入する ↑ このページの最初へ
'コメントの削除
Worksheets(1).Range("A" & Counter1).ClearComments

'コメントの挿入
Worksheets(1).Range("A" & Counter1).AddComment
Worksheets(1).Range("A" & Counter1).Comment.Visible = False
Worksheets(1).Range("A" & Counter1).Comment.Text Text:="コメント:" & comm
セルの背景色を変える ↑ このページの最初へ
Worksheets("Sheet2").Cells(s2_tates, 14).Interior.ColorIndex = 2 '白色
Worksheets("Sheet2").Cells(s2_tates, 14).Interior.ColorIndex = 3 '赤色
Worksheets("Sheet2").Cells(s2_tates, 14).Interior.ColorIndex = 6 '黄色

Worksheets("Sheet2").Cells(s2_tates, 14).Interior.ColorIndex = 10 '緑色
データの行と列を入れ替える ↑ このページの最初へ
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..Range("A65536").End(xlUp).Row  '最後の行から上に向かって空白でないセルを探す

ret = ActiveSheet.Cells.SpecialCells(xlLastCell).Column
 
使われたセル範囲の最後のセルを選択する ↑ このページの最初へ
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)
 
行をコピーする ↑ このページの最初へ
Sheets(1).Rows(j).Copy
Sheets(2).Rows(i).PasteSpecial

↑ このページの最初へ

   ご意見・ご感想をお寄せください。 ‖ お問い合わせはこちらから ‖ このサイトについて           サイトマップ  ‖
  Copyright 2006 - 2013 uTRAM Corp. All Rights Reserved
 
PHARCIS(ヘルスケア最新情報提供)
Facebook for PHARCIS
ClinMark8
アクセスランキング
(2013年5月)

1位 企業ニュース
2位 売上ランキング
3位 メディアニュース
4位 製薬会社
5位 治療薬の最前線
6位 決算短信一覧
7位 データブック
8位 製薬会社研究
9位 イベントカレンダ
10位 パイプラインニュース