[[20140816221959]] 『オーバフローについて』(ヤイリ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『オーバフローについて』(ヤイリ)

 お世話になります。

 -00012345(負の数)の8桁の文字列があります。
 下記で実行しますと

 Sub main()

  Dim str As String

   str = Format(CInt("-00012345"), "#,##0")

 Debug.Print str

 End Sub

 結果が

 -12,345となります。

 上記のコードで
 -00123456と位が1つ上がってもオーバーフローしないように
 するにはどのようにすれば良いでしょうか?
 宜しくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 >str = Format(CInt("-00012345"), "#,##0")
          ↓
  str = Format(CLng("-0001234567"), "#,##0")

  にしたらどうですか?

  ひょっとして、これと勘違い?
                 ↓
  str = Format(Int("-0001234567"), "#,##0")

(半平太) 2014/08/16(土) 22:42


ありがとうございます。

str = Format(CLng("-0001234567"), "#,##0")で

対応出来て、大変助かりました。

今後とも

どうぞよろしくお願い致します。
(ヤイリ) 2014/08/16(土) 23:02


 たびたびすいません。

  Sub main()

   Dim str As String

    str = Format(CLng("-00012345"), "#,##0")

  Debug.Print str

  End Sub

 のコードで
 文字列の前ゼロの数によって
 結果の数値を11桁として文字列の
 先頭からスペースを付加したいのですが
 IF文で1つ1つ条件判定をさせる以外で
 対応する方法はございますでしょうか?

 例 

 "-00012345"→ "    -12,345" 11桁
 "-00123456"→ "   -123,456" 11桁
 "-01234567"→ " -1,234,567" 11桁

 どうぞよろしくお願いいたします。

(ヤイリ) 2014/08/18(月) 14:10


 文字列でいいなら
 str = Right("          " & Format(CLng("-00012345"), "#,##0"), 11)
 これでいいの??
(稲葉) 2014/08/18(月) 14:21

またまた助かりました。
どうもありがとうございました。
今後ともどうぞよろしくお願いいたします。
(ヤイリ) 2014/08/18(月) 15:21

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.