excel中使用vba批量求取小公倍数的方法
1、首先我们打开一个工作样表作为例子。
2、打开vba编辑代码窗口,并在编辑窗内输入以下代码
Sub 最小公倍数()
Dim m As Integer, n As Integer
Dim m1 As Integer, n1 As Integer
Dim t As Integer
For i = 1 To 10
m = Sheet3.Cells(i, 1).Value
n = Sheet3.Cells(i, 2).Value
Debug.Print m
m1 = m
n1 = n
If m1 < n1 Then
m1 = n
n1 = m '交换m和n的值
End If
Do
Debug.Print m1
r = m1 Mod n1
If r = 0 Then Exit Do
m1 = n1
n1 = r
Loop
str1 = "最小公倍数=" & m * n / n1
Sheet3.Cells(i, 3).Value = str1
Next
End Sub
3、因为要批量计算,所以我们需要读取一个数组,这里我使用的for循环,对m和n值进行读取。
4、然后使用的是辗转相除法,定义是两个整数的最大公约数等于其中较小的那个数和两数的和相除余数为最大公约数。先用这种方法求出两数的最大公约数。
5、求最小公倍数的公式是MN/r,得出最小公倍数。在窗口中插入一个宏命令按钮,来运行这个宏。最后将得值写进工作薄内。
6、点击即可求值,如果数据很多,可以修改for语句中的i值,以达到批量计算的目的。修改以下代码可以由i= 1 to i+1填充更改单元格数量。