網頁

2013年3月21日 星期四

設定背景資訊,然後開始動作

在 "回到未來" 這部電影中,馬提要從過去回到未來、或從未來回到過去時,都要先設定時光車的時速,然後才開始動作。在現實生活中,我們做許多事情的動作模式也是如此,而即使你不會寫 Excel 程式,在 Excel 的操作環境中使用公式時,也可能會先設定某 cell 的值為 100,另一個 cell 的值為 200,然後讓第三個 cell 的公式等於第一加第二個 cell 的總和。

寫程式大抵也是如此,先設定某些變數的值,然後做動作,動作可能是呼叫另一個 Sub/Function、或直接在設定完後接著做。

來個操作儲存格的練習:

Sub cell_1()
    Cells(1, 1).Value = 1
    Cells(2, 1).Value = 1
    Cells(3, 1).Value = 1
    Cells(4, 1).Value = 1
    Cells(5, 1).Value = 1
    Cells(6, 1).Value = 1
    Cells(7, 1).Value = 1
    Cells(8, 1).Value = 1
    Cells(9, 1).Value = 1
End Sub

跟之前的 MsgBox 例子幾乎一樣(甚至更簡單),只是變成操作 cells 罷了。

也一樣沒有效率,所以用迴圈來化約它、精簡它、抽象化它:

Sub cell_1()
    For i = 1 To 9
        Cells(i, 1).Value = 1
    Next
End Sub