本章では、セルの値を加工するための関数やプロパティの設定について学習します。
Left関数、Right関数、Mid関数、Len関数、InStr関数、Replace関数、
End(xlUp)プロパティ、Rowプロパティ、End(xlToLeft)プロパティ、Columnプロパティ、
Addressプロパティ等をつかいこなせば、自由自在にセルの値を加工することができるようになります。
【コンパス】
1 文字列から一部の文字列を取得してみよう
2 文字列を1文字ずつ分解してみよう
3 行のループで複数の文字列を連続分解してみよう
4 列のループで複数の文字列を連続分解してみよう
5 セルのアドレスから英字の列名を取得してみよう
6 文字列の中で特定の文字の位置を取得してみよう
7 セルの書式を変更してみよう
「今回は、文字列の中で特定の文字があればその位置を取得してみましょう。
文字列の中で特定の文字があればその位置を一瞬で教えてくれる便利な関数があります。
それが、InStr関数です。InStr関数の構文は、次のようになります。」
「InStr関数では、
引数:String1に対象となる文字列、
引数:String2に検索したい文字列を入れると、
対象となる文字列の中で指定した文字を検索し、
ヒットすれば、戻り値として、文字列の先頭からの位置数
を受け取ることができます。
予め、次のようなExcelシートを用意します。
ExcelのセルA2に『セルを思いのままに動かそう』、セルC2に『セ』を入れた後、
InStr関数をつかい対象となる文字列の中で指定した文字を検索し、文字列の先頭からの位置数を受け取って、
セルD2に格納してみましょう。」
「早速、InStr関数をつかってみます。引数としてセルA2・セルC2から取得した文字列を渡してから、
先頭からの位置数を受け取り、セルD2に格納するのだから、
左辺には、Range("D2").Value
右辺には、InStr関数、引数:String1にRange("A2").Value、
引数:String2にRange("C2").Value
を当てはめれば良いのだから、
Range("D2").Value = InStr(Range("A2").Value, Range("C2").Value)
これで良いのでしょうか。」
Sub InStr関数()
Range("D2").Value = InStr(Range("A2").Value, Range("C2").Value)
End Sub
「それでは、そのマクロを実行してみましょう。」
「InStr関数により、『セルを思いのままに動かそう』から『セ』が検索されて、セルD2に先頭からの位置『1』が
書きこまれました。」
「ExcelのセルA2に『セルを思いのままに動かそう』、セルC2に『思』を入れた後、
InStr関数をつかい対象となる文字列の中で指定した文字を検索し、文字列の先頭からの位置数を受け取って、
セルD2に格納してみましょう。先ほどのマクロを実行してみましょう。」
「InStr関数により、『セルを思いのままに動かそう』から『思』が検索されて、セルD2に先頭からの位置『4』が
書きこまれました。」
「ExcelのセルA2に『セルを思いのままに動かそう』、セルC2に『動』を入れた後、
InStr関数をつかい対象となる文字列の中で指定した文字を検索し、文字列の先頭からの位置数を受け取って、
セルD2に格納してみましょう。先ほどのマクロを実行してみましょう。」
「InStr関数により、『セルを思いのままに動かそう』から『動』が検索されて、セルD2に先頭からの位置『10』が
書きこまれました。」
「ExcelのセルA2に『セルを思いのままに動かそう』、セルC2に『無』を入れた後、
InStr関数をつかい対象となる文字列の中で指定した文字を検索し、文字列の先頭からの位置数を受け取って、
セルD2に格納してみましょう。先ほどのマクロを実行してみましょう。」
「InStr関数により、『セルを思いのままに動かそう』から『無』が検索されたけど、ヒットしなかったため、
セルD2に『0』が書きこまれました。」
「このように、InStr関数をつかえば、文字列の中で特定の文字の位置を取得することができます。」
本章では、Excelマクロによりセルに文字を書きこんでみます。
先ずはキーボードによりセルに文字を直接書きこみ、次にそれをマクロに記録し、
更にそのマクロを書きかえてExcelマクロによりセルに文字を書きこみます。
【コンパス】
本章では、Rangeオブジェクトのセル番地の指定方法と
Cellsオブジェクトの行番号と列番号の指定方法について学習します。
これらの方法を組み合わせれば、自由自在にセル位置が指定できるようになります。
【コンパス】
本章では、ループ処理で多数行のセルに値を書きこむ方法と
ループ処理で多数列のセルに値を書きこむ方法について学習します。
この二つの方法を組み合わせれば、自由自在に多数行×多数列の
セルに値を書きこめるようになります。
【コンパス】
1 多数のセルの行番号と列番号を直接指定して値を書きこんでみよう
本章では、ループ処理で多数行のセルの値を読みとる方法と
ループ処理で多数列のセルの値を読みとる方法について学習します。
この二つの方法を組み合わせれば、自由自在に多数行×多数列の
セルの値を読みとれるようになります。
【コンパス】
1 多数のセルの行番号と列番号を直接指定して値を読みとってみよう
本章では、ループ処理で多数行のセルからセルへ値を代入する方法と
ループ処理で多数列のセルからセルへ値を代入する方法について学習します。
この二つの方法を組み合わせれば、自由自在に多数行×多数列の
セルからセルへの値の代入ができるようになります。
【コンパス】
本章では、条件分岐処理をつかい条件によって処理を分ける方法について学習します。
If文、If_ElseIf文、If_Else文、And条件のIf文、Or条件のIf文をつかいこなせば、
自由自在に条件分岐処理ができるようになります。
【コンパス】
本章では、セルの値を加工するための関数やプロパティの設定について学習します。
Left関数、Right関数、Mid関数、Len関数、InStr関数、Replace関数、
End(xlUp)プロパティ、Rowプロパティ、End(xlToLeft)プロパティ、Columnプロパティ、
Addressプロパティ等をつかいこなせば、自由自在にセルの値を加工することが
できるようになります。
【コンパス】
本章では、他のレンジ・他のシート・他のブックの更新方法について学習します。
これらの方法を組み合わせれば、他のRange・他のWorksheets・他のWorkbooksが
自由自在に更新できるようになります。
【コンパス】
2023-03-19
2022-11-27
2021-12-20
2021-12-12