Excel生成100以内两位数的加减法

女儿老师要求家长每天按图中所示出题,媳妇将这个任务交给我,为了偷懒,用Excel VBA写了个小程序,算是开始入门Excel VBA吧!

程序如下:

Sub 生成()

Dim a, b, c, d, e As Integer

For m = 1 To 30

t = 1

While t <= 10

n = 10 * (m – 1) + t

a = Int((99 – 10 + 1) * Rnd + 10) ‘生成10到100之间任意数

b = Int((99 – 10 + 1) * Rnd + 10) ‘生成10到100之间任意数

e = Int((99 – 10 + 1) * Rnd + 10) ‘生成10到100之间任意数

c = Int((2 – 1 + 1) * Rnd + 1) ‘生成1到2之间任意数

d = Int((2 – 1 + 1) * Rnd + 1) ‘生成1到2之间任意数

sum_1 = a + (-1) ^ c * b

sum_2 = sum_1 + (-1) ^ d * e

If sum_1 > 0 And sum_1 < 100 And sum_2 > 0 And sum_2 < 100 Then

Range(“A” & n) = a

If (-1) ^ c = -1 Then

Range(“B” & n) = “-“

Else: Range(“B” & n) = “+”

End If

Range(“C” & n) = b

Range(“D” & n) = “=”

t = t + 1

End If

Wend

t = 1

While t <= 5

n = 10 * (m – 1) + t * 2 – 1

a = Int((99 – 10 + 1) * Rnd + 10) ‘生成10到100之间任意数

b = Int((99 – 10 + 1) * Rnd + 10) ‘生成10到100之间任意数

e = Int((99 – 10 + 1) * Rnd + 10) ‘生成10到100之间任意数

c = Int((2 – 1 + 1) * Rnd + 1) ‘生成1到2之间任意数

d = Int((2 – 1 + 1) * Rnd + 1) ‘生成1到2之间任意数

sum_1 = a + (-1) ^ c * b

sum_2 = sum_1 + (-1) ^ d * e

If sum_1 > 0 And sum_1 < 100 And sum_2 > 0 And sum_2 < 100 Then

Range(“G” & n) = a

If (-1) ^ c = -1 Then

Range(“H” & n) = “-“

Else: Range(“H” & n) = “+”

End If

Range(“I” & n) = b

If (-1) ^ d = -1 Then

Range(“J” & n) = “-“

Else: Range(“J” & n) = “+”

End If

Range(“K” & n) = e

Range(“L” & n) = “=”

t = t + 1

End If

Wend

Next m

Cells.HorizontalAlignment = xlCenter

Cells.VerticalAlignment = xlTop

End Sub

成品如下:

百度盘提取Excel文件

https://pan.baidu.com/s/11lP3alZMJVcOAfCwNRYHnQ

声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及版权,请您尽早时间联系jinwei@zod.com.cn

相关推荐