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 IntegerFor i = 1 To 9For j = 1 To 9k = 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 IntegerFor i = 1 To 9For j = 1 To 9k = 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 IntegerFor i = 1 To 9For j = 1 To 9 im = i Mod 2k = 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 IntegerFor i = 1 To 9For j = 1 To 9 im = i Mod 2k = 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” 现在可以看到,是隔列隔列上一种颜色了。 为了对读者负责,我注释,见最后一图。再最后保存。当然你在宏里也可以看到叫做“乘法表”的宏。