vba九九乘法表代码_VBA程序控制结构示例-九九乘法表
大家周末好,本節(jié)將以制作九九乘法表為例,來鞏固循環(huán)結(jié)構(gòu)和判斷結(jié)構(gòu)的嵌套應(yīng)用。下面先演示下最后的效果。
實(shí)現(xiàn)九九乘法表的代碼相對(duì)簡單,但涉及結(jié)構(gòu)嵌套很典型,希望通過整個(gè)實(shí)例可以幫助理解程序結(jié)構(gòu)嵌套。
首先要說明一點(diǎn)沒有介紹過的知識(shí),即單元格的cells(行號(hào),列號(hào))屬性表示方法,參數(shù)分別行號(hào)和列號(hào)。且列號(hào)以數(shù)字表示而非字母。比如表示第B列第5行的單元格,為cells(5,2),數(shù)字方便使用變量作為參數(shù)。而之前提過的單元格range屬性,則是常規(guī)的range('b5')來表示。
那么下面我們就分步驟來看下如何實(shí)現(xiàn)九九乘法表?
1、雙循環(huán)嵌套
首先分析九九乘法表,實(shí)質(zhì)是一組1至9的數(shù)字與另一組1至9的數(shù)字,分別兩兩相乘,并得到相乘的結(jié)果。
由于兩組數(shù)的值均是從1到9,可以聯(lián)想到,利用for...next循環(huán)讓兩個(gè)變量分別從1至9,通過雙循環(huán)嵌套來實(shí)現(xiàn)數(shù)字兩兩相乘。
如下圖所示,立即窗口打印的字符是 i, 'X', j, '='; i * j。即參數(shù)i 、字符X 、參數(shù)j 、字符=、 i和j相乘的結(jié)果。
2、判斷結(jié)構(gòu)嵌套
上一步利用雙循環(huán)嵌套,實(shí)現(xiàn)了1-9內(nèi)的數(shù)值兩兩相乘,最后的表達(dá)式也有了雛形,但是在得到的表達(dá)式中有重復(fù)相乘的情況。比如i=1、j=9時(shí),結(jié)果是1X9=9。而i=9、j=1時(shí)結(jié)果9X1=9,兩者保留其一即可。需要設(shè)定判斷條件去掉重復(fù)表達(dá)式。
分析九九乘法表可以發(fā)現(xiàn)一個(gè)規(guī)律,即被乘數(shù)都是大于或等于乘數(shù)的時(shí)候才顯示的。據(jù)此就可以設(shè)定當(dāng)i>=j為條件,在第二個(gè)for循環(huán)中嵌套if...then語句,(通常書寫時(shí)要縮進(jìn))符合i>=j時(shí)才在立即窗口中顯示。
3、單元格中顯示結(jié)果
經(jīng)過上面兩步后,已經(jīng)獲得需要的表達(dá)式,現(xiàn)在需要在單元格中顯示,就利用單元格cells屬性,使用i和j兩個(gè)變量值分別作為行號(hào)和列號(hào)的參數(shù),即Cells(i, j) = i & 'X' & j & '=' & i * j 。
這里變量不需要英文引號(hào),而固定的字符都需要用英文引號(hào)括起來,字符與變量之間都需要用連接符&連接,注意變量與&之間需要有空格。比如當(dāng)i=1,j=2時(shí),結(jié)果就是cells(1,2)單元格中顯示1X2=2。
下面讓我們看下完整的代碼,可以自行推演一下代碼的運(yùn)行(示例中加入了表單控件,指定宏,點(diǎn)擊即可生成九九乘法表。)
注意代碼中注意結(jié)構(gòu)開始和結(jié)束對(duì)應(yīng),判斷結(jié)構(gòu)if與end if對(duì)應(yīng),循環(huán)結(jié)構(gòu)for與next對(duì)應(yīng)完整,同時(shí)next循環(huán)的兩個(gè)變量嵌套不要顛倒位置,比如for j循環(huán)以next? j結(jié)尾。
Cells(i, j) = i & 'X' & j & '=' & i * j 其中變量不需要英文引號(hào),而固定的字符都需要用英文引號(hào)括起來,字符與變量之間都需要用連接符&連接,變量與連接符&之間需要有空格。
示例涉及了循環(huán)和判斷結(jié)構(gòu)的相互嵌套,希望有助于學(xué)習(xí)程序控制結(jié)構(gòu),對(duì)于指定的數(shù)值的乘法表可以當(dāng)作課后作業(yè),有問題可以給我留言,祝大家學(xué)習(xí)愉快。
Live and Learn
總結(jié)
以上是生活随笔為你收集整理的vba九九乘法表代码_VBA程序控制结构示例-九九乘法表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器采集协议,H3C设备服务器采集参数
- 下一篇: 平稳时间序列分析:ARMA模型