Excel VBA質問箱 IV

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

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


23363 / 76732 ←次へ | 前へ→

【58736】コード纏め
質問  Upa  - 08/11/6(木) 11:02 -

引用なし
パスワード
   下記のように
A、C、E、Gにランダムで1-9の数字が入り
B、D、Fにランダムで+-*の算術記号を入れるようにしまし
また計算も行うようにしました

4桁まで作ったっところ答えを出す方の計算式が長くなってしまい
これを同にか纏めることはできませんでしょうか
目標としては数字は10こ計算まで作成したいと思います

Sub LV6()
  Cells.Clear
  Range("A1").Select
For i = 1 To 100
  Randomize
  Num0to9a = Int(10 * Rnd)
  Range("A" & i).Value = Num0to9a
  Num0to9c = Int(10 * Rnd)
  Range("C" & i).Value = Num0to9c
  Num0to9e = Int(10 * Rnd)
  Range("E" & i).Value = Num0to9e
  Num0to9g = Int(10 * Rnd)
  Range("G" & i).Value = Num0to9g
  
  Num0to3b = Int(3 * Rnd)
  If Num0to3b = 0 Then
  Range("B" & i).Value = "+"
  ElseIf Num0to3b = 1 Then
  Range("B" & i).Value = "-"
  ElseIf Num0to3b = 2 Then
  Range("B" & i).Value = "X"
  End If
  
  Num0to3d = Int(3 * Rnd)
  If Num0to3d = 0 Then
  Range("D" & i).Value = "+"
  ElseIf Num0to3d = 1 Then
  Range("D" & i).Value = "-"
  ElseIf Num0to3d = 2 Then
  Range("D" & i).Value = "X"
  End If
  
  Num0to3f = Int(3 * Rnd)
  If Num0to3f = 0 Then
  Range("F" & i).Value = "+"
  ElseIf Num0to3f = 1 Then
  Range("F" & i).Value = "-"
  ElseIf Num0to3f = 2 Then
  Range("F" & i).Value = "X"
  End If
Next i
End Sub

Sub AN3()
  Columns("I").Clear
For i = 1 To 100
  If Range("B" & i) = "+" Then
    If Range("D" & i) = "+" Then
      If Range("F" & i) = "+" Then
        Range("I" & i) = Range("A" & i) + Range("C" & i) + Range("E" & i) + Range("G" & i)
      ElseIf Range("F" & i) = "X" Then
        Range("I" & i) = Range("A" & i) + Range("C" & i) + Range("E" & i) * Range("G" & i)
      ElseIf Range("F" & i) = "-" Then
        Range("I" & i) = Range("A" & i) + Range("C" & i) + Range("E" & i) - Range("G" & i)
      End If
    ElseIf Range("D" & i) = "X" Then
      If Range("F" & i) = "+" Then
        Range("I" & i) = Range("A" & i) + Range("C" & i) * Range("E" & i) + Range("G" & i)
      ElseIf Range("F" & i) = "X" Then
        Range("I" & i) = Range("A" & i) + Range("C" & i) * Range("E" & i) * Range("G" & i)
      ElseIf Range("F" & i) = "-" Then
        Range("I" & i) = Range("A" & i) + Range("C" & i) * Range("E" & i) - Range("G" & i)
      End If
    ElseIf Range("D" & i) = "-" Then
      If Range("F" & i) = "+" Then
        Range("I" & i) = Range("A" & i) + Range("C" & i) - Range("E" & i) + Range("G" & i)
      ElseIf Range("F" & i) = "X" Then
        Range("I" & i) = Range("A" & i) + Range("C" & i) - Range("E" & i) * Range("G" & i)
      ElseIf Range("F" & i) = "-" Then
        Range("I" & i) = Range("A" & i) + Range("C" & i) - Range("E" & i) - Range("G" & i)
      End If
    End If
  ElseIf Range("B" & i) = "X" Then
    If Range("D" & i) = "+" Then
      If Range("F" & i) = "+" Then
        Range("I" & i) = Range("A" & i) * Range("C" & i) + Range("E" & i) + Range("G" & i)
      ElseIf Range("F" & i) = "X" Then
        Range("I" & i) = Range("A" & i) * Range("C" & i) + Range("E" & i) * Range("G" & i)
      ElseIf Range("F" & i) = "-" Then
        Range("I" & i) = Range("A" & i) * Range("C" & i) + Range("E" & i) - Range("G" & i)
      End If
    ElseIf Range("D" & i) = "X" Then
      If Range("F" & i) = "+" Then
        Range("I" & i) = Range("A" & i) * Range("C" & i) * Range("E" & i) + Range("G" & i)
      ElseIf Range("F" & i) = "X" Then
        Range("I" & i) = Range("A" & i) * Range("C" & i) * Range("E" & i) * Range("G" & i)
      ElseIf Range("F" & i) = "-" Then
        Range("I" & i) = Range("A" & i) * Range("C" & i) * Range("E" & i) - Range("G" & i)
      End If
    ElseIf Range("D" & i) = "-" Then
      If Range("F" & i) = "+" Then
        Range("I" & i) = Range("A" & i) * Range("C" & i) - Range("E" & i) + Range("G" & i)
      ElseIf Range("F" & i) = "X" Then
        Range("I" & i) = Range("A" & i) * Range("C" & i) - Range("E" & i) * Range("G" & i)
      ElseIf Range("F" & i) = "-" Then
        Range("I" & i) = Range("A" & i) * Range("C" & i) - Range("E" & i) - Range("G" & i)
      End If
    End If
  ElseIf Range("B" & i) = "-" Then
    If Range("D" & i) = "+" Then
      If Range("F" & i) = "+" Then
        Range("I" & i) = Range("A" & i) - Range("C" & i) + Range("E" & i) + Range("G" & i)
      ElseIf Range("F" & i) = "X" Then
        Range("I" & i) = Range("A" & i) - Range("C" & i) + Range("E" & i) * Range("G" & i)
      ElseIf Range("F" & i) = "-" Then
        Range("I" & i) = Range("A" & i) - Range("C" & i) + Range("E" & i) - Range("G" & i)
      End If
    ElseIf Range("D" & i) = "X" Then
        Range("I" & i) = Range("A" & i) - Range("C" & i) * Range("E" & i) + Range("G" & i)
      ElseIf Range("F" & i) = "X" Then
        Range("I" & i) = Range("A" & i) - Range("C" & i) * Range("E" & i) * Range("G" & i)
      ElseIf Range("F" & i) = "-" Then
        Range("I" & i) = Range("A" & i) - Range("C" & i) * Range("E" & i) - Range("G" & i)
    ElseIf Range("D" & i) = "-" Then
        Range("I" & i) = Range("A" & i) - Range("C" & i) - Range("E" & i) + Range("G" & i)
      ElseIf Range("F" & i) = "X" Then
        Range("I" & i) = Range("A" & i) - Range("C" & i) - Range("E" & i) * Range("G" & i)
      ElseIf Range("F" & i) = "-" Then
        Range("I" & i) = Range("A" & i) - Range("C" & i) - Range("E" & i) - Range("G" & i)
    End If
  End If
Next i
End Sub

1 hits

【58736】コード纏め Upa 08/11/6(木) 11:02 質問
【58739】Re:コード纏め Yuki 08/11/6(木) 11:46 発言
【58741】Re:コード纏め Upa 08/11/6(木) 12:02 お礼

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