セルを検索する
サンプルソース
Dim objFind As Object ' 文字列を検索 Set objFind = Cells.Find("検索する文字") If objFind Is Nothing Then MsgBox "文字列は見つかりません" Else ' 検索したセルの値 Msgbox objFind.Value ' 検索したセルの行数 Msgbox objFind.Row ' 検索したセルの列数 Msgbox objFind.Column End If ' 文字列を検索(検索方法を詳細に設定) Set objFind = Cells.Find(What:="検索する文字",After:=ActiveCell, LookIn:=xlFormulas, LookAt:= xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False , MatchByte:=False, SearchFormat:=False) |
解説
Findで条件に合致したセルを検索します。
Findで検索したセルを返しますが、文字が見つからない場合はNothingになるため、Ifで判断する必要があります。
検索できた場合は、Valueで値、Rowで行数、Columnで列数を取得できます。
シート内の全セルの場合はCells.Find、指定した範囲の場合はRange("A1:B100").Findになります。
Findは文字列の検索方向や大文字・小文字の区別など詳細な条件をつけて検索することができます。
Whatには検索するデータを指定します。
Afterには検索を開始するセルを指定します。省略時は左端から検索。
LookInには検索対象の種類を指定します。
設定 | 内容 |
---|---|
xlValues | 値 |
xlFormulas | 数式 |
xlNotes | コメント |
LookAtには検索するセルの種類を指定します。
設定 | 内容 |
---|---|
xlPart | 一部が一致 |
xlWhole | 完全に一致 |
SearchOrderには検索の方向を指定します。
設定 | 内容 |
---|---|
xlByColumns | 列 |
xlByRows | 行 |
SearchDirectionには検索の順序を指定します。
設定 | 内容 |
---|---|
xlNext | 順方向 |
xlPrevious | 逆方向 |
MatchCaseには大文字・小文字の区別を指定します。
設定 | 内容 |
---|---|
True | 区別する |
False | 区別しない |
MatchByteには半角・全角の区別を指定します。
設定 | 内容 |
---|---|
True | 区別する |
False | 区別しない |
SearchFormatには検索の書式を指定します。
セルの参照
- セルを扱うセルを扱う サンプルソース ' A1に値を設定 Cells(1,1).Value = "値" ' シートSheet1のA...
- セルの範囲を扱うセルの範囲を扱う サンプルソース ' A1に値をセット Range("A1").Value = "値" ' A1~E5...
- 行や列を扱う行や列を扱う サンプルソース ' 1行目 Rows(1).Value = "値" ' 1~2行目 Rows("1:2").Val...
- セルに値を取得・設定するセルに値を取得・設定する サンプルソース ' A1の値を取得 Msgbox Cells(1,1).Value ' A...
- セルに文字列で取得するセルに文字列で取得する サンプルソース ' A1のセルの文字列を取得 Msgbox Cells(1,1).Tex...
- セルを選択するセルを選択する サンプルソース ' A1を選択 Cells(1,1).Select ' A1を選択 Range("A1")....
- 選択しているセルを参照する選択しているセルを参照する サンプルソース ' A1を選択する Range("A1").Select ' 選択...
- セル数、行数、列数を求めるセル数、行数、列数を求める サンプルソース ' A1~E5のセル数 Cells(4,1) = Range("A1:E5...
- 行番号、列番号を求める行番号、列番号を求める サンプルソース Cells(1,1) = Range("B10").Row ' 結果:10 Cell...
- セルに名前を付けて参照するセルに名前を付けて参照する サンプルソース ' A1のセル名に設定 Range("A1").Name = "セ...
- 行・列を表示・非表示にする行・列を表示・非表示にする サンプルソース ' 行を非表示 Rows(2).Hidden = True ' 列を...
- セルの位置を取得するセルの位置を取得する サンプルソース ' 左からの距離 Msgbox Range("B10").Left ' 上か...
- アクティブセル領域を参照するアクティブセル領域を参照する サンプルソース ' A1を基点にアクティブセル領域を選択 Ran...
- 表の終端を取得する表の終端を取得する サンプルソース ' 上端 Range("A1").End(xlUp).Select ' 下端 Range(...
- セルのアドレスを取得するセルのアドレスを取得する サンプルソース ' A2のアドレスを取得 Msgbox Cells(1,2).Addre...
- セルを並び替えるセルを並び替える サンプルソース ' セルを並び替える Range("A1:E10").Sort Key1:=Range(...
Excel VBA講座
Excel VBA とは
Excel VBAとは、Excelに標準で付いているプログラミング言語です。
VBAはVisual Basic for Applicationsの略で、プログラムの構文は、Vi... |
色を設定するには(ColorIndex、Color)
色の指定方法にはColorIndexとColorの2種類があります。
セルの文字色の場合は Font に、背景色の場合は Interior に... |
VBE とは
VBE (Visual Basic Editor) とは、Excelに搭載したVBA用のエディターのことです。
VBEを起動するには、Excelの「ツール」→「マクロ」→「Visual... |