Excel VBA質問箱 IV

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

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


18301 / 76732 ←次へ | 前へ→

【63874】Re:桁数が多いと勝手に指数で計算してうまく判定できない
発言  ichinose  - 09/12/25(金) 7:25 -

引用なし
パスワード
   おはようございます。
現象確認しました。


>いまさらながらですが、動作としてわかりましたが
>この動作のhelpみたいなものはあるのでしょうか
解説サイトの紹介は他の方に任せますが・・・、
仕様だと思っていたのでまったく疑問に思わなかったなあ・・・。


>>下記で再現できます
>C4が指数表示で右寄せ
>C7が指数表示なのに左寄せとなっています
>ただ 参照先が 
>C4は、MID関数式
>C7は、等号式?
>の違いがありますが・・・・・
現象確認しました。
投稿されたコードを実行しました。
セルC7の書式が「文字列」に変わっていますね?
結果が左寄せになるのは、↑これが起因していそうですが・・。
投稿されたプロシジャーのコード順序を以下のようにすると、セルC7は、右寄せになりますね!!

Sub cell_set2()
  Cells.Delete Shift:=xlUp
  Range("B2").Value = "V2_I173 35051000100001000100002000000000402"
  Range("C2").Formula = "= MID(B2, FIND("" "", B2)+1, 100)"
  Range("C3").Formula = "=C2"
  Range("C4").Formula = "=C2+1"
  Range("C6").Formula = "=B6"
  Range("C7").Formula = "=B6+1"
  Range("B6").NumberFormatLocal = "@"
  Range("B6").Value = "35051000100001000100002000000000402"
  Columns("B:C").EntireColumn.AutoFit
  Range("B2").Select
End Sub


>アホだからでもいいですが、何かアドバイス頂けると一歩進めるような気がします
>なにかありましたらよろしくお願いします

足し算を例にとれば、

桁の小さい数字から桁をあわせて順々に足し算していって、桁が繰り上がったら、
次の桁に1を繰り越す という処理を数字があるだけ繰り返す

という処理です。

123
 89+
-----------
  

3+9=12 で 1の位は 2で 1が繰り上がって・・、
2+8+1(繰り上がり)=11で10の位は、1で1繰り上がって
1+1(繰り上がり)=2で 繰り上がりはなし

結果 212 という答えが得られます。

こんな過程から、ロジックとして、繰り返す処理(Do〜Loopの中で処理する内容)を
検討します。

私は、

プログラムの基本形式のひとつである

 前処理
  |
  |
 1回以上のループ
  |
  |
 後処理

という形式にすることを考えてプログラムの作成にあたっています。
(ワーニエ法より)

>後、
>足し算の If g3 > 0 Then
>の意味が下記で確認してもなぜいるのかよくわからないのですが・・・
>アドバイス頂けるとうれしいです
>よろしくお願いいたします

これは、最後の桁の足し算で繰り上げがあったときの処理です。

Sub test2()
  MsgBox stradd("99", "1")
End Sub

上記は、100 と表示されますが、

If g3 > 0 Then 〜

がないと、00と表示されてしまいます。


以上です。

0 hits

【63725】桁数が多いと勝手に指数で計算してうまく判定できない pon 09/12/3(木) 16:00 質問
【63726】Re:桁数が多いと勝手に指数で計算してうま... ichinose 09/12/3(木) 17:40 発言
【63787】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/15(火) 12:33 お礼
【63788】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/15(火) 12:49 質問
【63789】Re:桁数が多いと勝手に指数で計算してうま... Jaka 09/12/15(火) 13:42 発言
【63792】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/15(火) 16:52 質問
【63794】Re:桁数が多いと勝手に指数で計算してうま... よろずや 09/12/15(火) 19:34 回答
【63853】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/22(火) 15:26 質問
【63854】Re:桁数が多いと勝手に指数で計算してうま... Yuki 09/12/22(火) 15:50 発言
【63855】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/22(火) 16:58 質問
【63856】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/22(火) 19:07 お礼
【63857】Re:桁数が多いと勝手に指数で計算してうま... ichinose 09/12/22(火) 22:09 発言
【63867】Re:桁数が多いと勝手に指数で計算してうま... よろずや 09/12/23(水) 23:45 発言
【63870】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/24(木) 18:36 お礼
【63868】Re:桁数が多いと勝手に指数で計算してうま... ichinose 09/12/24(木) 7:35 発言
【63871】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/24(木) 18:40 質問
【63874】Re:桁数が多いと勝手に指数で計算してうま... ichinose 09/12/25(金) 7:25 発言
【63880】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/25(金) 15:00 お礼
【63797】Re:桁数が多いと勝手に指数で計算してうま... ichinose 09/12/15(火) 21:58 発言
【63802】Re:桁数が多いと勝手に指数で計算してうま... Yuki 09/12/16(水) 13:33 発言
【63881】Re:桁数が多いと勝手に指数で計算してうま... pon 09/12/25(金) 15:01 お礼

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