2013年1月30日 星期三

EXCEL VBA 1-1 第1個簡單小程式(續)

還記得要如何進入VBA的開發環境嗎?
嗯,很好,沒有忘記的話,那我們繼續解說我們的第1隻簡單的小程式
這隻程式的功能是:
將2,4,......,20等,10個數字,填入到A1到A10
它的原始碼

Sub printl()
    Dim i, j, k As Integer
       j = 2
           For i = 1 To 10
                 k = k + j
                 Cells(i, 1).Value = k
           Next
End Sub

這個原始碼我們要怎麼看呢?
咱一小段一小段的講

1.首先是巨集的宣告,看紅色的字

Sub printl()
    Dim i, j, k As Integer
       j = 2
           For i = 1 To 10
                 k = k + j
                 Cells(i, 1).Value = k
           Next
End Sub

這是宣告一個Sub,這裡的用法指的是巨集,巨集的名稱是printl
Sub是關鍵字不能亂改
printl是巨集的變數名稱,可以改,變數名稱不可以是關鍵字。

2.再來是巨集的內容,變數的初始宣告,看紅色的字

Sub printl()
    Dim i, j, k As Integer
       j = 2
           For i = 1 To 10
                 k = k + j
                 Cells(i, 1).Value = k
           Next
End Sub
關於Dim i,j,k As Integer  j=2
是程式會用得到的變數,就是宣告 i,j,k是整數(初始值都是0)
j=2就是把2這個值指給j

3.FOR迴圈的使用,以及敘述裡的事情
FOR迴圈的公式
For 數值變數 = 初始值 To 終止值
    敘述
Next [數值變數]
套到我們的程式裡

           For i = 1 To 10
                 k = k + j
                 Cells(i, 1).Value = k
           Next
意思是要把

  k = k + j
  Cells(i, 1).Value = k


這件事做10次,我們一次一次來解釋吧!!
第1次,當i=1時,
 k = k + j
因為k一開始是0,j=2,所以程式的執行過程是把0+2,也就是2的值指定給k,記作k=2
然後
Cells(i, 1).Value = k
這裡的i=1,k=2
所以程式的執行過程是
Cells(1, 1).Value = 2
把2指定給Cells(1, 1).Value就是A1儲存格
NEXT則代表程式要繼續執行i=2,也就是進入第2個迴圈的啦

這樣是不是很清楚的呢?
嗯,現在試看看做一個程式!!






提示:要用2個FOR迴圈哦!!解答在本頁的某處。
















解答:

Sub printl()
Dim i, j, k, m As Integer
j = 2
For i = 1 To 10
k = k + j
Cells(i, 1).Value = k
Cells(1, i).Value = k
For m = 2 To 10
Cells(m, i).Value = k
Cells(i, m).Value = k
Next
Next
End Sub

生活小札:
唉,其實在公家單位工作,真的不像外界想像的好過啦,所以泥砍砍,為什麼每年都會缺那麼多人,奇怪的叮,又有很多人想進到公家單位的。到公家單位然後頂到爛缺,那真的是有苦說不出的,然後泥以為想調單位就可以隨便換的嗎?那得要對方要用泥,然後泥的長官肯給泥走,2個條件都成立,泥才有辦法滾蛋的。這太黑暗了,泥想想,如果泥在機關做的不好,那別的單位在找人的時候會打聽不出來嗎?這種情況底下,泥會不太好找到要泥的單位。所以在原單位就不能表現的太爛,好吧,那假設泥每天都好認真工作,但又覺得原單位工作壓力太大,想烙跑,好不容易泥到處找缺,對方要泥,這時泥一定要趕快跟原單位長官報告說泥想烙跑了,沒有先講,長官會覺得泥狠沒李帽,肯定不會放人,要不就是拖到泥很難走,讓新單位覺得泥狠難用,所以一定要先講,但泥知道,對方願意用泥,就是知道泥在原單位表現的還不錯,才願意用,所以很可怕的是原單位的長官也會因為泥表現不錯而不願意放人,很矯情吧。話說回來,每年還是有一堆公務人員調來調去的,要不就一條鞭的,要不就是有拔酷的,那種乖乖的公務人員,想調動,要運氣很好,很好的那種,就是剛好泥的長官也要調動,同時泥也找到缺,大頭們也都覺得沒關係,等等一堆的天時地利人和的,知道了吧,聽說很多調來調去的公務人員都覺得,第1份公職是最好的,而且每況遇下,所以想調動,還是要三思呀。

沒有留言:

張貼留言