- 帖子
- 129
- 主題
- 3
- 精華
- 0
- 積分
- 178
- 點名
- 0
- 作業系統
- XP
- 軟體版本
- 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-12-28
- 最後登錄
- 2018-11-10
|
16#
發表於 2012-3-7 13:27
| 只看該作者
回復 14# Hsieh
剛剛又在看了一次,原來是我沒看清楚...
稍微更改了一些設定....
讓1 會出現, 讓最大值可以相除....- Sub 出題()
- Dim k$, sp As Shape
- k = Application.Caller
- Set sp = ActiveSheet.Shapes(k)
- n = sp.TextFrame.Characters(1, 1).Text
- x = [A1]
- For i = 3 To 22
- Select Case n
- Case "加"
- Cells(1, 2) = "以內加法"
- p = "+"
- a = "+"
- s = Array(Int((x - 1 + 1) * Rnd + 1), p, Int((x - 1 + 1) * Rnd + 1), "=", "")
- Case "減"
- Cells(1, 2) = "以內減法"
- p = "-"
- a = "-"
- s = Array(Int((x - 1 + 1) * Rnd + 1), p, Int((x - 1 + 1) * Rnd + 1), "=", "")
- Case "乘"
- Cells(1, 2) = "以內乘法"
- p = "X"
- a = "*"
- j = Int(Sqr(x))
- s = Array(Int((j - 1 + 1) * Rnd + 1), p, Int((j - 1 + 1) * Rnd + 1), "=", "")
- Case "除"
- Cells(1, 2) = "以內除法"
- p = "÷"
- a = "/"
- y = Int((x - 1 + 1) * Rnd + 1)
- Z = Int((x - 1 + 1) * Rnd + 1)
- Do Until y Mod Z = 0 And y >= Z
- y = Int((x - 1 + 1) * Rnd + 1)
- Z = Int((x - 1 + 1) * Rnd + 1)
- Loop
- s = Array(y, p, Z, "=", "")
- End Select
- Cells(i, 1).Resize(, 5) = s
- Cells(i, 6).FormulaR1C1 = _
- "=IF(RC[-1]<>"""",IF((RC[-5]" & a & "RC[-3])=RC[-1],""√"",""×""),"""")"
- Next
- End Sub
複製代碼 再次感謝 謝老大的幫忙......我想這個程式應該很夠用了....:>
加法練習.rar (18.01 KB)
|
|