Format関数
Format関数は、指定した値を指定した「書式」に変換した文字列の値を返します。
構文
Format(値)
値をそのまま文字列に変換します。
Format(値,書式)
値を指定した書式の文字列に変換します。
書式の記号について
Format関数のサンプルコード
A列の値を指定した書式でB列に代入しています。書式の"000000"についてはあらかじめExcelのB2の書式を文字列に変えておかないと0が欠けてしまいます。
Format関数は、指定した値を指定した「書式」に変換した文字列の値を返します。
構文
Format(値)
値をそのまま文字列に変換します。
Format(値,書式)
値を指定した書式の文字列に変換します。
書式の記号について
A列の値を指定した書式でB列に代入しています。書式の"000000"についてはあらかじめExcelのB2の書式を文字列に変えておかないと0が欠けてしまいます。
Replaceは引数に指定した文字列に対して、引数の検索文字列を引数の置換文字列に置換する関数になります。引数に開始位置、置換回数、比較モードを指定することもできます。
構文
Replace(文字列,検索文字列,置換文字列)
文字列内の検索文字列を置換文字列に置換する。
※バイナリモードでの比較となります。
Replace(文字列,検索文字列,置換文字列,開始位置,置換回数,比較モード)
置換する開始位置、複数の検索文字列がある場合に置換する回数を指定できます。比較モードで大文字・小文字、全角・半角などを区別することができます。
<引数について>
<比較モードについて>
※比較モードにはvbUseCompareOptionというモードもありますが、省略しています。vbBinaryCompare、vbTextCompareを認識していればいいかと思います。
詳しくは
Replace 関数 (Visual Basic for Applications) | Microsoft Docs
D列の「山田 花子」を「鈴木 花子」に置換するコードです。
検索文字を「""」に置換することで、その検索文字を削除することができます。以下のコードでは、半角スペース「" "」を[""」に置換し、削除しています。
vbBinaryCompare、vbTextCompareを指定する際は、開始位置、置換回数を指定する必要があります。省略することはできません。
vbTextCompare:全角半角・大文字小文字を区別しない
A1は開始位置と置換回数が指定されていないため、置換が出来ていません。(Replace("abcdef","A","B",1,1,vbTextCompare)と開始位置・置換回数を指定すると置換されます)
A2は開始位置と置換回数が指定されているため、「a」を「B」に置換しています。(置換文字列は「A」ですが、vbTextCompareのため、大文字小文字を区別せず、「a」を「B」に置換しています。)
vbBinaryCompare:全角半角、大文字小文字を区別する
A3は引数が正しくない(比較モードを指定しているが、開始位置・置換回数が指定されていない)ため、エラーとなるのでコメントアウトしています。
A4は「a」を「b」に置換しています。
A5は「A」を「B」に置換するコードですが、大文字小文字を区別するため、文字列「abcdef」では置換されずにそのままの文字列が返されています。
Trim関数、LTrim関数、RTrim関数はスペース(空白)を削除する関数です。
※空白は半角スペース(1バイト)・全角スペース(2バイト)に関わらず削除します。
※VBAでなくワークシート関数のTrim関数は、文字間に空白がある場合は文字間の最初の空白を削除しますが、VBA関数では文字間の空白は削除しません。
構文
B列の文字列をTrim関数で左右の空白を削除して、C列に格納しています。
文字列の左右の空白は全角・半角の区別なく全て削除されています。文字間の空白は削除されず、そのままです。
B列の文字列をLTrim関数で文字列の左側の空白を削除してC列に格納しています。
文字列の左側の空白が削除されました。文字間・右側の空白は削除されず、残っています。
B列の文字列をRTrim関数で文字列の右側の空白を削除してC列に格納しています。
文字列の右側の空白が削除されています。左側・文字間の空白は削除されません。