トップページ >  エクセル マクロ >  文字列検索
初版2011/02/09: 最終更新日2011/02/09
  文字列検索
目次
文字列検索
Line Input
文字列検索
マクロで文字列検索を行うにはInStr関数を使用します。
第一引数に文字列、第二引数に検索対象文字列を指定します。
以下は2011/02/09という文字列が含まれている場合は、その文字列位置を返し、MsgBoxで表示している例です。

Inf = FreeFile
Open "c:¥tools¥a.txt" For Input As #Inf
これでa.txtというファイルを入力モードで操作できるようになります。
Inputとした場合、存在しないファイルを指定した場合はエラーとなります。
既にファイルが存在する場合だけ入力モードで操作可能となります。

ファイルを最初の行からファイルの最後まで読み込むにはEOF関数を使用します。

Inf = FreeFile
Open "c:¥tools¥a.txt" For Input As #Inf
Do Until EOF(Inf)

Loop
EOF関数の引数にはファイル番号を指定し、Do Untilと併用します。EOF関数はファイルの終わりになるとTrueを返し、それ以外はFalseを返す関数です。
これでDo Until ~ Loop内に処理を記述することで1行ずつ処理をすることが可能になります。

Line Input
Line Inputは以下のように試用します。

Line Input #ファイル番号 変数

この1行をDo Until~Lopp内に記述することによって改行コードまでを変数に格納し、色々と処理が可能になります。
以下は1行ごとにメッセージボックスで表示する例です。

Dim Str As String

Inf = FreeFile
Open "c:¥tools¥a.txt" For Input As #Inf
Do Until EOF(Inf)
    Line Input #Inf, Str
    MsgBox Str
Loop