Excel「VBA教程」一文说透循环语句

2024-06-14 0

本文首发于2023年9月20日其他同名平台,更多文章案例搜索关注!

执行摘要

VBA循环语句

大家好,我正在用冷水泡茶。我们分享了很多ExcelVBA案例。今天我们来总结一下,谈谈VBA循环语句。

废话不多说,我直接进入正题:

对于下一个循环:

我们通常使用的是循环数字:

fori1to10下一个

此外,在对象集合中:

前链b下一个

让我们看一些例子

1循环工作表:

Sub循环worksheet()DimwsAsWorksheetForEachwsInSheetsii1DebugPrint'这是第'i'个工作表,名称为:'wsNameNextEndSub

2循环单元:

子循环Cells()DimwsAsWorksheetDimrngAsRangeDimcellAsRangeSetwsThisWorkbookSheets('工作表3')SetrngwsRange(Cells(1,1),Cells(10,10))ForEachcellInrngIfcellRowcellColumnThencellInteriorColorvbRedElsecellValue1EndIfNextEndSub

3循环删除空行:

子循环删除空白行()DimwsAsWorksheetDimlastRowAsIntegerSetwsThisWorkbookSheets('Table3')WithwslastRowUsedRangeRowsCountForilastRowTo1Step-1IfCells(i,1)''ThenRows(i)DeleteEndIfNextEndWithEndSub

4循环矩阵

子循环矩阵()dimwsworksheetdimlastegerdimlasintegerdimarr(),StrasstringSetwsthisworkbooksheets('表2')WithdastrowusedrangerowscountcolusedrangecolumnscourarTrow,Lastcol)))ValueForiLBound(arr)ToUBound(arr)ForjLBound(arr)ToUBound(arr,2)strstr''arr(i,j)NextDebugPrintstrstr''NextEndWithEndSub

5循环字典

SubloopDictionary()DimwsAsWorksheetDimlastRowAsIntegerDimlastColAsIntegerDimarr(),strAsStringDimdicAsObject,dKeyAsStringDimkeyAsVariantSetdicCreateObject('ScriptingDictionary')SetwsThisWorkbookSheets('表1')WithwslastRowUsedRangeRowsCountlastColUsedRangeColumnsCountarr范围(Cells(2,1),Cells(lastRow,lastCol))ValueForiLBound(arr)ToUBound(arr)dKeyarr(i,1)dic(dKey)dic(dKey)arr(i,2)NextEndWithForEachkeyIndi??ckeysstrstrkey':'dic(key)Chr(10)NextDebugPrintstrEndSub

6循环工作表控件:

Worksheet()DimwsAsWorksheetDimobjAsOLEObjectDimtopAsIntegerSetwsThisWorkbookSheets('Table1')top5ForEach中的子循环控件objInwsOLEObjectstoptopobjHeightobjtoptopobjLeft150Nex??tEndSub

7循环用户窗体中的控件:

PrivateSubCommandButton1Click()DimctrAsControlDimtopAsIntegerForEachctrInMeControlsIfctrNameLike'CheckBox*'ThentoptopctrHeight5ii1ctrtoptopctrLeft10ctrCaption'checkbox'iIfiMod2ThenctrValueTrueEndIfEndIfNextEndSub

这可能是常用的For循环的列表。

DoWhile循环

基本结构:

DoWhile条件(如果条件为真,则继续循环)循环

让我们举个例子:

SubDoWhile()DimmAsIntegerDoWhilem循环

循环DoUntil

基本结构:

DoUntil条件(条件为真,退出循环)……循环

让我们举个例子:

LoopSubDoUntil()DimmAsLongm1DoUntilm>1000mm*2DebugPrintmLoopEndSub

总结

1、循环语句是编程中必不可少的方法。可以说,没有循环编程是不可能的。

2我们主要使用ForNext结构循环。如果存在下标等数字序列,我们就使用数字来循环。在循环数值范围时,有一个参数我们经常省略,就是步长,默认为1。如果步长不为1,则不能省略。如上面删除空行的例子,我们是从大数到小数循环,步长为-1,满足条件跳转;循环的。

3还有一些例子我们没有提到,比如记录集循环、用户窗体循环等。

~~~~~~结束~~~~~~

喜欢的话就点个赞、点击观看、留言分享吧!感激的!

本站文章均由用户上传或转载而来,该文章内容本站无法检测是否存在侵权,如果本文存在侵权,请联系邮箱:2287318951@qq.com告知,本站在7天内对其进行处理。

发布评论