「ある文字列の、右から3番目の文字が小数点かどうか」を判定する、VBAのコードを考えます。やりたいことたとえば、「11.00」という数字は、小数点以下は2桁です。「11.0」は、小数点以下は1桁です。Excelでデータを処理するとき、小数点以下の桁数をそろえたい場合が想定されます。今回おこないたいのは、「小数点以下が2桁かどうか判定する」ことです。「1.23」という数字であれば、右(または文字の末尾)から3文字の「.23」の部分をチェックします。そのような判定を行うVBAのコードを考えます。いう文字列が入っているとします。(数値ではなく文字列にするには、「'11.00」というふうに、先頭にアポストロフィ(')を付けます。いう文字列が入っていることを確認するVBAのコードを以下に示します。Subこのコードを実行すると、以下のように、「11.00」と表示されます。いう文字列の右から3番目の文字を、VBAで取得することを考えます。「右からn番目の1文字を取得する」という機能の関数が標準で用意されていれば、それを利用しますが、私が探した限りでは、そのような関数はありませんでした。利用して、「右から3番目の文字を取得する」ことを行います。具体的には、以下の流れとなります。右から3文字を取得する。その3文字の一番左の1文字を、取得する。右から3文字を取得するコードを、以下に示します。Subこのコードを実行すると、「.00」と表示されます。「.00」という文字列の左から1文字を取得するコードを、以下に示します。Subこのコードを実行すると、「.」と表示されます。上記のコードを応用して、「右から3番目が小数点でない場合にエラーメッセージを表示する」ことを考えます。以下に、コードを示します。"右から3番目が小数点ではありません。Subここで、B2セルの文字列を、たとえば「11.0」に変更し、コードを実行すると、下図のように「右から3番目が小数点ではありません。」というメッセージが表示されます。返す」という関数のコードを以下に示します。実行すると、下図のように「True」と表示されます。]B2セルが「11.0」の場合は、「False」と表示されます。利用して、「右から3文字目を取得する」というコードを書きました。課題#サンプルコードには、以下のような課題があります。「a.aa」のような、数字以外の文字列にTrueを返してしまう。上述の課題に対処するための方法として、以下のようなものがあげられます。