作りながら学ぶVBAプログラミング

文字列変換、数字変換、よく使うサブルーチンライブラリ

toStr.bas

シートのセルを文字列で組み合わせようとするとよくエラーになるのがセル内が文字列ではなく数字だった場合。

手間がかかりますwww

そこで力づくで文字列に変換するサブルーチンを使っています。

ちなみに数字を文字列に変換する関数は str() ですけど、これを使うと数値が正の場合、数字の前に符号を表す空白が入ります。

連想配列やファイル名を作ったりする時、この前方の空白が邪魔!

そのため、数字を文字列に変換する場合は、Format(値,”0″)で処理すると余計な空白を含みません。


無理やり文字列に変換する

数字だろうが、文字列だろうが、お構いなし。とにかく文字列で処理させたい!
そういう時便利です。

書式 Function toStr(v) ‘v:文字列に変換したい値

使用例、
Dim buff
Cells(1,2) = "56"
Cells(1,3) = "氏名"
Cells(1,4) = "32"
Cells(1,5) = "年齢"
buff = ""
buff = buff + toStr.toStr(Cells(1,3)) + " "
buff = buff + toStr.toStr(Cells(1,2)) + " , "
buff = buff + toStr.toStr(Cells(1,5)) + " "
buff = buff + toStr.toStr(Cells(1,4)) + " "



無理やり数値に変換する

数字だろうが、文字列だろうが、お構いなし。とにかく数値で処理させたい!
そういう時便利です。


書式 Function toNum(v) ‘v:数値に変換したい値

使用例、
Cells(1,2) = "56"
Cells(1,3) = "氏名"
Cells(1,4) = "32"
Cells(1,5) = "年齢"
buff = ""
buff = buff + toStr.toNum(Cells(1,3))
buff = buff + toStr.toNum(Cells(1,2))
buff = buff + toStr.toNum(Cells(1,5))
buff = buff + toStr.toNum(Cells(1,4))


結果、
88


固定長 16進文字列に変換する

書式 Function toHex(v, iLen) v:変換したい値
iLen:固定長

使用例、
Dim v, hexstr
v = 255
hexstr = toStr.toHex(v,4)


結果、
000f


文字列変換、数字変換 toStr.bas ダウンロード




  • このエントリーをはてなブックマークに追加

関連記事

ゆずまる・ゆぅべぇ

システムエンジニア/プログラマ歴数十年のゆずまるです。

バナーにもあるように変体的な犬マニアで生まれてからこのかた犬のいない日は経験していません。
中でもコッカースパニエルとラブラドールが死ぬほど好き!

そんなゆずまるは、20数種類の様々な言語を使用してシステム開発をおこなってきました。

そこで使ってきた各言語の自作ライブラリ中のVBAのライブラリを公開しています。

※姉妹サイトに C,PHP などのサイトもネット上に浮遊させております。そちらでもお役にたてましたら無上の喜びw

あなたの一助になれば幸いです。