硬件:电脑
软件:Office Excel(这里用的是正版excel2013)
打开Office Excel,按Alt+F11打开“Microsoft Visual Basic for Applications”窗口,简单来说就是打开VBA编辑窗口。左键双击左侧工程窗口中的sheet1,打开编辑窗口。然后输入代码: “sub 乘法表() end sub'
然后根据需要设置变量,算式等,现在在“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个单元格,但这不是我们想要的,我们要的是那种经典的梯形乘法表。没办法,改呗。 现在不要问程序代码什么意思,后面有解释。
现在先把之前试运行生成的结果删除,然后添加或者修改代码,代码变为这个样子: “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” 然后试运行,可以看到乘法表变成了经典虐待我美好童年的乘法表。
为了小孩童年不那么灰暗,有必要给它加一点色彩。添加单元格底色,代码就变成了: “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” 现在可以看到,每隔一列,乘法表的单元格就填上了底色。
那么另外那些列呢,这样的上色小孩子肯定鄙夷的,至于剩下的列怎么写代码,我的想法是先全部上色,再用隔列的方法覆盖上色,代码修改为: “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” 现在可以看到,是隔列隔列上一种颜色了。 为了对读者负责,我注释,见最后一图。再最后保存。当然你在宏里也可以看到叫做“乘法表”的宏。
当试运行时出现错误时,不要慌,认真细致分析问题,这样才能有效解决问题。