Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10716 / 13646 ツリー ←次へ | 前へ→

【20262】15桁以上は・・・・ ヒロ 04/12/3(金) 16:04 質問[未読]
【20263】Re:15桁以上は・・・・ IROC 04/12/3(金) 16:11 回答[未読]
【20266】Re:15桁以上は・・・・ ヒロ 04/12/3(金) 18:07 質問[未読]
【20267】Re:15桁以上は・・・・ IROC 04/12/3(金) 18:20 回答[未読]
【20268】Re:15桁以上は・・・・ ichinose 04/12/3(金) 18:22 回答[未読]
【20269】Re:15桁以上は・・・・ ヒロ 04/12/3(金) 18:46 お礼[未読]

【20262】15桁以上は・・・・
質問  ヒロ  - 04/12/3(金) 16:04 -

引用なし
パスワード
   VBAとか普通に使うときとか整数だけでも15桁以上はだめなんですかね?
四捨五入されてしまいます・・・
解決策内ですかね
18桁のID番号なんですが・・・・

【20263】Re:15桁以上は・・・・
回答  IROC  - 04/12/3(金) 16:11 -

引用なし
パスワード
   >VBAとか普通に使うときとか整数だけでも15桁以上はだめなんですかね?

いまいち意味が解らないのですが、
何をすると、どのように上手くいかないのでしょうか?

【20266】Re:15桁以上は・・・・
質問  ヒロ  - 04/12/3(金) 18:07 -

引用なし
パスワード
   ▼IROC さん:
>>VBAとか普通に使うときとか整数だけでも15桁以上はだめなんですかね?
>
>いまいち意味が解らないのですが、
>何をすると、どのように上手くいかないのでしょうか?

お返事ありがとうございます。
VBAで18桁のIDを処理すると変数の型をLongするとオーバーフローして
Doubleだと15桁まではいいんですが16桁目から四捨五入されてしまいます。
解決策あるんですかね?こっそり教えてください・・・・

【20267】Re:15桁以上は・・・・
回答  IROC  - 04/12/3(金) 18:20 -

引用なし
パスワード
   Doubleでダメですか・・どのような使い方をしているのでしょうか?

また、文字列(String)ではダメなのでしょうか?

【20268】Re:15桁以上は・・・・
回答  ichinose  - 04/12/3(金) 18:22 -

引用なし
パスワード
   ▼ヒロ さん、IROC さん、こんばんは。

>>>VBAとか普通に使うときとか整数だけでも15桁以上はだめなんですかね?
>>
>>いまいち意味が解らないのですが、
>>何をすると、どのように上手くいかないのでしょうか?
>
>お返事ありがとうございます。
>VBAで18桁のIDを処理すると変数の型をLongするとオーバーフローして
>Doubleだと15桁まではいいんですが16桁目から四捨五入されてしまいます。
>解決策あるんですかね?こっそり教えてください・・・・
Decimalを使用してみてはいかがですか?

'==========================================
Sub test()
  Dim a As Variant
  a = CDec("123456789012345678")
  MsgBox a
End Sub

IDなら、文字列のままでもよいと思いますが・・・。

【20269】Re:15桁以上は・・・・
お礼  ヒロ  - 04/12/3(金) 18:46 -

引用なし
パスワード
   ▼ichinose さん:
IROCさん、ichisoseさん。お返事ありがとうございます。
文字列で十分です!!例に習ってやって見ます。ありがとうございました

>▼ヒロ さん、IROC さん、こんばんは。
>
>>>>VBAとか普通に使うときとか整数だけでも15桁以上はだめなんですかね?
>>>
>>>いまいち意味が解らないのですが、
>>>何をすると、どのように上手くいかないのでしょうか?
>>
>>お返事ありがとうございます。
>>VBAで18桁のIDを処理すると変数の型をLongするとオーバーフローして
>>Doubleだと15桁まではいいんですが16桁目から四捨五入されてしまいます。
>>解決策あるんですかね?こっそり教えてください・・・・
>Decimalを使用してみてはいかがですか?
>例
>'==========================================
>Sub test()
>  Dim a As Variant
>  a = CDec("123456789012345678")
>  MsgBox a
>End Sub
>
>IDなら、文字列のままでもよいと思いますが・・・。

10716 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free