掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Format関数で・・・? (ID:106636)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
レイアウト修正が過大のようなので、A1〜A5に値を取得するところまでは できてるものとして話を進めさせていただきますね。 数字に前ゼロをつける場合、format関数は format( 数値 , "出力形式" )の形で記述します。 この出力形式の部分でレイアウトを指定します。 "0":0で置き換え "#":NULLで置き換え です。 例えば A4 = 200 の場合、 format(A4,"000000000000")なら結果は"000000000200" format(A4,"############")なら結果は"200" になります。 ちなみに format(123,"###,000,000")なら"000,123" format(0,"###,###,##0円")なら"0円" format(0,"###,###,###円")なら"円" です。 文字列にスペースを補う方ですが、 まずレイアウト修正する文字の文字数をlen関数で調べます。 len( 文字列 ) で文字長がわかります。 次に規定の文字数に足りない分だけspace関数で空白を補います。 space( 数値 ) で空白を数値分返します。 例えば、A3 = "BB" だった場合、 '------------------------------------------ dim A3 as string dim lMojisu as long A3 = "BB" lMojisu = len( A3 ) ' lMojisuには 2 が入ります A3 = A3 & space( 3 - lMojisu ) ' "BB"の後ろに空白が 3-2 で 1個補われます '------------------------------------------ これで結果 A3 は "BB "になります。 空白以外の文字を補いたい場合はstring関数でできます。 あと、上記ロジックでは文字数のチェックをしていないので 文字数が 4 以上の場合にはエラーになります。 簡単な例文なので他にも問題はあるのですが、あくまで例文 なので参考までに。。。(汗 ちなみに、VBのヘルプは(MSDNがインストールしてあれば) 調べたい関数にカーソルを置いてF1で参照することができるので、 できればそちらも参考にしてみてください。 。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.