VBA中的循環(huán)代碼的使用
最近,我在自學(xué)VBA,有了之前的Python基礎(chǔ),感覺學(xué)起VBA也比較輕松。畢竟VBA和Python一樣都是面向?qū)ο蟮木幊陶Z言。通過自學(xué),我基本上掌握了VBA的循環(huán)方法,以下是我的簡(jiǎ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()來填充數(shù)字
Sub 填充單元格2()
Dim i As Integer
For i = 1 To 10
Range("A" & i)= i
Next i
End Sub3. 另類解法
通過定義Range對(duì)象,然后遍歷對(duì)象中的元素,此種方法融合了上面二種方法。
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來獲取工作表的總數(shù)來進(jìn)行for循環(huán)。 以下代碼實(shí)現(xiàn)用for循環(huán)來把每一個(gè)工作表的第一個(gè)單元格填充為工作表的表名。
Sub 循環(huán)工作表()
Dim i As Integer
For i = 1 To Worksheets.Count '用worksheets.count獲取工作表的數(shù)量
Worksheets(i).Range("A1") = Worksheets(i).Name
Next i
End Sub2. 利用for each ... in 來循環(huán)遍歷工作表
這種方法的核心是定義工作表對(duì)象sht,然后對(duì)工作表集合對(duì)象進(jìn)行遍歷。
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文件,假定所有文件均已經(jīng)打開。這里提供兩種方法:第一種是對(duì)象法,代碼如下:
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第二種是切片法,實(shí)現(xiàn)的功能依然是在每個(gè)工作表的A1單元格中填充當(dāng)前工作表的表名。
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四、注意事項(xiàng)
for循環(huán)是成對(duì)的,一定要注意加上next X, 否則程序就會(huì)報(bào)錯(cuò)。
VBA的循環(huán)大概分二種,一種是對(duì)象法,一種是切片法,推薦用對(duì)象法,不用考慮對(duì)象的數(shù)量。
標(biāo)識(shí)單元格可以用Range和Cells兩種方法,各有優(yōu)劣,可以有選擇地使用。
與Python編程不同的是,VBA編程中要提前定義對(duì)象類型,因此它的代碼執(zhí)行速度會(huì)比Pythong更快。
到此這篇關(guān)于VBA中的循環(huán)代碼的使用的文章就介紹到這了,更多相關(guān)VBA 循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Excel·VBA合并工作簿的實(shí)現(xiàn)示例
本文主要介紹了Excel·VBA合并工作簿的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
excel vba 限制工作表的滾動(dòng)區(qū)域代碼
如果希望限制工作表中滾動(dòng)的區(qū)域,可以通過設(shè)置WorkSheet對(duì)象的ScrollArea屬性來實(shí)現(xiàn)。2009-07-07
Excel?VBA按列拆分工作表和工作簿的實(shí)現(xiàn)
表格拆分是常見的數(shù)據(jù)處理,本文主要介紹了Excel?VBA按列拆分工作表和工作簿的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
VBA 瀏覽文件夾對(duì)話框調(diào)用的幾種方法
VBA 瀏覽文件夾對(duì)話框調(diào)用實(shí)現(xiàn)代碼。大家可以根據(jù)需要選擇。2009-07-07
VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)
本文主要介紹了VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08

