Excel VBA質問箱 IV

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

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


63479 / 76738 ←次へ | 前へ→

【17855】Re:分数の表示は?
発言  ponpon  - 04/9/8(水) 20:26 -

引用なし
パスワード
   ▼ichinose さん:
>▼ponpon さん:
>こんばんは。
>台風、私の地方はほとんど被害がなかったのですが、
>ponpon さんの方では大丈夫でしたか?

こちらは北九州に近いですから、瓦が飛んだり木が倒れたりとひどかったです。私の学校も窓ガラスが割れ、水浸しの教室ができました。
 下記の内容は、学校から帰ってからずっと眺めています。text関数(いろいろと過去ログをみると使い道のある便利な関数のようですが)使ったことありません。ただ数字をテキストとして処理するぐらいしか知りません。
 もう少し勉強して、使えるようになりたいと思います。ichinose さんぐらいVBAの力があれば子どもにいろんなことをしてあげれるのになと思います。
 この間自動100マス計算を作って子どもにさせたら喜んでしていました。ファイルをコピーして家庭に持って帰らせました。子どもはパソコン好きですから
 話がそれましたが、これからもいろいろ未熟ながら挑戦したいと思いますのでよろしくお願いします。

>ワークシート関数のText関数を使用して乱数値を
>分数文字列に書き換えています(これ使うと約分のことを考えなくて良いから)。
>その後、Split関数で"/"を区切り文字として分子と分母を配列に格納しています。
>
>>>Sub get_Fract(分子 As Long, 分母 As Long, 分母lim As Long)
>>>'乱数値から、分数の分子・分母を作成する
>>>'input : 分母lim---分母のリミット値(この値以下の分母を返す)
>>>'output: 分子、分母
>>>  Dim r As Double
>>>  Do
>>>   r = Rnd
>>>   If r > 0 Then
>>>    wk = Split(WorksheetFunction.Text(r, "??/??"), "/")
>    If Val(wk(0)) > 0 And Val(wk(0)) < Val(wk(1)) And Val(wk(1)) <= 分母lim Then
>'↑ここは、こっちのコードにして下さい
>>>      分子 = wk(0)
>>>      分母 = wk(1)
>>>      Exit Do
>>>      End If
>>>    End If
>>>   Loop
>>>  Erase wk
>>>End Sub
>
>引き算の件は、私も投稿後に気づきました。
>よって、Mainプロシジャーだけちょっと変更します。
>'==============================================================
>Sub main()
>  Dim 演算子 As String
>  Dim Mol(0 To 1) As Long, Deno(0 To 1) As Long
>  Randomize Timer
>  For idx = 1 To 30 Step 3
>   For jdx = 0 To 1
>    Call get_Fract(Mol(jdx), Deno(jdx), 30) '分数の分子・分母の取得
>    Next jdx
>   演算子 = Choose(Int(Rnd * 3) + 1, "+", "−", "×", "÷")
>'                ↑ここ、4でなく、3
>   If 演算子 = "−" Then '演算子が−だったら?
>    If Mol(0) / Deno(0) - Mol(1) / Deno(1) < 0 Then '答えが-だったら?
>      wk = Mol(0)
>      Mol(0) = Mol(1)
>      Mol(1) = wk
>      wk = Deno(0)
>      Deno(0) = Deno(1)
>      Deno(1) = wk
>'     ↑データを入れ替える
>      End If
>    End If
>   Call set_計算式(Cells(idx, 1), Mol(), Deno(), 演算子) '計算式の表示
>   Next
>End Sub
>
>こんなんでどうでしょうか?
>私もこれ、子供に使おう!!

 子どもに使うなら足し算引き算のところは、分母を20以内にしないと通分が地獄のようになると思いますよ。(蛇足でしたか?・・・・)

2 hits

【17788】分数の表示は? ponpon 04/9/7(火) 18:34 質問
【17796】Re:分数の表示は? ichinose 04/9/7(火) 23:55 回答
【17798】Re:分数の表示は? 訂正 ichinose 04/9/8(水) 0:23 発言
【17844】Re:分数の表示は? ponpon 04/9/8(水) 18:35 お礼
【17852】Re:分数の表示は? ichinose 04/9/8(水) 19:36 発言
【17854】Re:分数の表示は? 訂正の訂正 ichinose 04/9/8(水) 20:04 発言
【17855】Re:分数の表示は? ponpon 04/9/8(水) 20:26 発言
【17797】Re:分数の表示は? ちゃっぴ 04/9/7(火) 23:58 回答
【17845】Re:分数の表示は? ponpon 04/9/8(水) 18:52 お礼
【17799】Re:分数の表示は? ponpon 04/9/8(水) 0:31 発言

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