今回も、セルに入力した文字を成型するマクロを紹介します。
エクセルシートに入力されたデータをマクロで読み取り、データベースやテキストファイルなどに記録することを想定しています。
連続した空白を1つにする
例えば、セルに名前を入力する際に、「姓と名の間は一文字空けて入力してください。」なんて注意書きがある場合ありませんか。
本来は、「中村 一郎」と入力してもらいたいんですが。
「中村 一郎」と入力されていたり。
注意書きに一文字空けてと、記述があるので入力エラーでも良いんですが。
簡単なマクロで成型できるのでやってみましょう。
連続した空白を1つに変換するマクロ
引数に指定した文字列中の複数の連続した空白を1つの空白に変換する関数です。
Function uSpaceShorten(ByVal sVal As Variant) As Variant Dim wVal As Variant wVal = Trim(sVal) ' 連続した空白を1つに(2つの空白を1つに変換) Do While InStr(wVal, " ") > 0 wVal = Replace(wVal, " ", " ") Loop uSpaceShorten = wVal End Function
いかがでしたか
エクセルシートに入力する方、チェックする方の手間が少し楽になりますよね。
ではまた。