excel vba实例002 如何使用vba生成梯形乘法表
1、 打开Office Excel,按Alt+F11打开“Microsoft Visual Basic for Applications”窗口,简单来说就是打开VBA编辑窗口。左键双击左侧工程窗口中的sheet1,打开编辑窗口。然后输入代码:
“sub 乘法表()
end sub"


2、 然后根据需要设置变量,算式等,现在在“sub 乘法表() ”与“end sub”之间输入:
“Dim i As Integer
Dim j As Integer
For i = 1 To 9
For j = 1 To 9
k = i & "×" & j & "=" & i * j
Sheets("Sheet1").Cells(i, j) = k
Next j
Next i”
输入完成后试运行(VBA窗口工具栏上的绿色小三角),按快捷键F5也可以。可以看到,1×1、1×2、2×1...都有,满满81个单元格,但这不是我们想要的,我们要的是那种经典的梯形乘法表。没办法,改呗。
现在不要问程序代码什么意思,后面有解释。


3、 现在先把之前试运行生成的结果删除,然后添加或者修改代码,代码变为这个样子:
“Dim i As Integer
Dim j As Integer
For i = 1 To 9
For j = 1 To 9
k = i & "×" & j & "=" & i * j
If i <= j Then
Sheets("Sheet1").Cells(j, i) = k
End If
Next j
Next i”
然后试运行,可以看到乘法表变成了经典虐待我美好童年的乘法表。


4、 为了小孩童年不那么灰暗,有必要给它加一点色彩。添加单元格底色,代码就变成了:
“Dim i As Integer
Dim j As Integer
For i = 1 To 9
For j = 1 To 9
im = i Mod 2
k = i & "×" & j & "=" & i * j
If i <= j Then
Sheets("Sheet1").Cells(j, i) = k
If im = 0 Then
Cells(j, i).Interior.ColorIndex = 6
End If
End If
Next j
Next i”
现在可以看到,每隔一列,乘法表的单元格就填上了底色。


5、 那么另外那些列呢,这样的上色小孩子肯定鄙夷的,至于剩下的列怎么写代码,我的想法是先全部上色,再用隔列的方法覆盖上色,代码修改为:
“Dim i As Integer
Dim j As Integer
For i = 1 To 9
For j = 1 To 9
im = i Mod 2
k = i & "×" & j & "=" & i * j
If i <= j Then
Sheets("Sheet1").Cells(j, i) = k
Cells(j, i).Interior.ColorIndex = 4
If im = 0 Then
Cells(j, i).Interior.ColorIndex = 6
End If
End If
Next j
Next i”
现在可以看到,是隔列隔列上一种颜色了。
为了对读者负责,我注释,见最后一图。再最后保存。当然你在宏里也可以看到叫做“乘法表”的宏。

