春節假期就這樣溜走了 T_T (喂~都開工快一個禮拜了)
不過元宵節前都算過年嘛~所以在這也跟大家拜個晚年嚕
還記得在上一篇 VBA 小學堂裡介紹的儲存格語法嗎
在最後有提到一個程式碼不知道大家還有沒有印象
Sub test()
Range("A1048576").End(xlUp).Offset(1, 0) = Range("A1048576").End(xlUp) + 1
End Sub
在裡面也提到了如果資料有 1000 筆甚至更多的話
手應該會按到抽筋吧 XD
所以在這次要介紹的是讓這個小程式可以自動執行的方法
For…next 函數
這函數其實有點迴圈的意思 (有沒有想起高中或大學的夢靨計算機概論阿 XD)
廢話不多說直接來改寫,我想聰明的大家一定一看就懂的
這邊一樣先做個按鈕來準備把巨集指定過來喔
Sub test()
Dim i As Integer
For i = 1 To 1000
Range("A" & i).Offset(1, 0) = Range("A1048576").End(xlUp) + 1
Next i
End Sub
執行之後會有以下結果
按一下就直接幫你從 A2 一路填到 A1001
這邊稍微解釋一下
For i = 1 To 1000 就是變數 i 為1-1000
程式碼開頭的 Dim i As Integer 就是將 i 定義成整數 (Dim 在定義變數常常用到喔,以後會常常出現的)
而 next 就是當 i = 1 執行完之後,變成 i = 2 繼續執行
再來就是 i = 3, i = 4, i = 5…以此類推
要一路執行到 i = 1000 才可以離開 For…next 迴圈
這類寫法我想不只 VBA,其實在很多程式語言裡面搞不好都看的到呢
另外這個函數不只能 +1 +1 的執行 (i = 1, 2, 3…)
只要在 For i = 1 to 1000 後面加個 step 數字
譬如
For i = 1 to 1000 step 2
就會變成 i = 1, 3, 5, 7…999 執行
這幾個函數運用的好的話
其實就可以寫出很多方便的巨集
再來就是看大家的創意嚕
沒有留言:
張貼留言