VBA中的循環(huán)代碼的使用
最近,我在自學VBA,有了之前的Python基礎,感覺學起VBA也比較輕松。畢竟VBA和Python一樣都是面向對象的編程語言。通過自學,我基本上掌握了VBA的循環(huán)方法,以下是我的簡單筆記和大家一起分享。
一、循環(huán)填充單元格
1.通過for循環(huán)和Cells()來填充A列1至10行單元格為1, 2, 3...10,代碼如下:
Sub 填充單元格() Dim i As Integer For i = 1 To 10 ? ? Cells(i,1)= i Next i End Sub
2. 通過for循環(huán)和Range()來填充數字
Sub 填充單元格2() Dim i As Integer For i = 1 To 10 Range("A" & i)= i Next i End Sub
3. 另類解法
通過定義Range對象,然后遍歷對象中的元素,此種方法融合了上面二種方法。
Sub 填充單元格3() Dim col as integer Set col = Range("A1:A10") For Each cell In col cell.Value = cell.Row() Next cell End Sub
二、循環(huán)遍歷工作表
1.通過Worksheets.count來獲取工作表的總數來進行for循環(huán)。 以下代碼實現用for循環(huán)來把每一個工作表的第一個單元格填充為工作表的表名。
Sub 循環(huán)工作表() Dim i As Integer For i = 1 To Worksheets.Count '用worksheets.count獲取工作表的數量 Worksheets(i).Range("A1") = Worksheets(i).Name Next i End Sub
2. 利用for each ... in 來循環(huán)遍歷工作表
這種方法的核心是定義工作表對象sht,然后對工作表集合對象進行遍歷。
Sub 循環(huán)工作表2() Dim sht As Worksheet For Each sht In Worksheets sht.Range("A1") = sht.Name Next sht End Sub
三、循環(huán)遍歷工作簿
也就是遍歷Excel文件,假定所有文件均已經打開。這里提供兩種方法:第一種是對象法,代碼如下:
Sub 循環(huán)工作簿() For Each wb In Workbooks For Each sht In wb.Worksheets sht.Range("A1") = wb.Name Next sht Next wb End Sub
第二種是切片法,實現的功能依然是在每個工作表的A1單元格中填充當前工作表的表名。
Sub 循環(huán)工作簿() Dim i, m As Integer For i = 1 To Workbooks.Count For m = 1 To Worksheets.Count Worksheets(m).Range("A1") = Worksheets(m).Nam Next m Next i End Sub
四、注意事項
for循環(huán)是成對的,一定要注意加上next X, 否則程序就會報錯。
VBA的循環(huán)大概分二種,一種是對象法,一種是切片法,推薦用對象法,不用考慮對象的數量。
標識單元格可以用Range和Cells兩種方法,各有優(yōu)劣,可以有選擇地使用。
與Python編程不同的是,VBA編程中要提前定義對象類型,因此它的代碼執(zhí)行速度會比Pythong更快。
到此這篇關于VBA中的循環(huán)代碼的使用的文章就介紹到這了,更多相關VBA 循環(huán)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!