全民一起VBA基础篇第六课:While语句和多重循环

while语句

while cells(i,2) <> “”
可用来检查内容是否为空,来标记是否到尾巴了

Sub highlightquick()
	Dim i As Integer
	i = 2
	While Cells(i, 2) <> "" '判断是否为空
	    If Cells(i, 2) > 500 Then '判断单元格的数值
	    
	        Cells(i, 2).Font.Bold = True    '用来加粗
	        
	        With Cells(i, 2).Font   '用来改字体颜色
	            .Color = -16776961
	            .TintAndShade = 0
	        End With
	        
	    End If
	    
	    i = i + 1
	
	Wend    '和开头的while呼应
End Sub

同样完成和上一篇一样的任务,这次用while循环
这里解决的是没有空行的情况,有空行的情况之后再谈
如果要判断一行中任一列不为空就执行,可以改为

While Cells(i, 2) <> "" or Cells(i, 3) <> "" 

实际编程中用do while 更多

Sub highlightquick()
	Dim i As Integer
	i = 2
	Do While Cells(i, 2) <> "" '判断是否为空
		If Cells(i, 2) > 500 Then '判断单元格的数值
		        Cells(i, 2).Font.Bold = True    '用来加粗
		      
		        With Cells(i, 2).Font   '用来改字体颜色
		            .Color = -16776961
		            .TintAndShade = 0
		        End With
		        
		End If  
		i = i + 1
	Loop    '和开头的while呼应
End Sub

求平均值

Option Explicit
Sub average()
	Dim total
	Dim count
	Dim mean
	Dim i
	i = 2 :	total = 0 :	count = 0
	Do While Cells(i, 2) <> ""  '判断是否为空
	    total = total + Cells(i, 2) '求和器
	    count = count + 1 '计数器
	    mean = total / count '算均值
	    i = i + 1
	Loop
	
	Cells(4, 4) = mean

End Sub

双重循环

对二重表格进行运算

Option Explicit
Sub toKG()
	Dim i, j	
	i = 2	
	If Cells(7, 9) = "磅" Then '判断是否能进行转换	
	    Do While Cells(i, 1) <> "" '控制行	    
	        For j = 2 To 10 Step 1 '控制列	        
	        Cells(i, j) = Cells(i, j) / 0.45	        
	        Next j	        
	    	i = i + 1	    
	    Loop	   
	    Cells(7, 9) = "千克"
	End If
End Sub

### VBA编程学习与实践 学习VBA(Visual Basic for Applications)编程可以极大地提升办公自动化效率,特别是在Excel中进行数据处理报表生成时。以下是一些关键的学习实践方向: #### 1. **理解VBA基础语法** 在开始编写VBA代码之前,必须掌握其基础语法。VBA中的关键字标识符是构建代码的基本元素。关键字是VBA语言本身保留的单词,例如 `Sub`、`Function`、`If`、`Then` 等,这些单词不能用作变量名。标识符则是用户定义的名称,用于标识变量、函数、过程等,命名时需遵循一定的规则,例如不能以数字开头,不能包含特殊字符等[^1]。 #### 2. **掌握数据类型与变量** VBA支持多种数据类型,包括整型(`Integer`)、长整型(`Long`)、浮点型(`Single`、`Double`)、字符串型(`String`)、布尔型(`Boolean`)等。正确选择数据类型不仅可以提高程序的执行效率,还能避免潜在的错误。变量在使用前应明确声明,通常使用 `Dim` 语句来声明变量,例如 `Dim i As Integer`。 #### 3. **控制结构** VBA提供了多种控制结构来实现程序的逻辑控制,主要包括条件控制循环控制。条件控制使用 `If...Then...Else` 或 `Select Case` 语句来实现,根据不同的条件执行不同的代码块。循环控制则包括 `For...Next`、`Do...Loop` `While...Wend` 等结构,用于重复执行某段代码直到满足特定条件为止。 #### 4. **错误处理** 在编写VBA代码时,不可避免地会遇到运行时错误。为了提高程序的健壮性,应使用错误处理机制。VBA中使用 `On Error GoTo` 语句来指定错误发生时的跳转位置,通常在过程的末尾添加错误处理代码,使用 `Err` 对象来获取错误信息,并通过 `Resume` 语句决定程序的后续执行路径。 #### 5. **实践示例** 以下是一个简单的VBA宏示例,用于计算工作表中某一列的总并将其显示在一个消息框中: ```vba Sub CalculateSum() Dim sum As Double Dim i As Integer sum = 0 For i = 1 To 10 sum = sum + Cells(i, 1).Value Next i MsgBox "The sum is " & sum End Sub ``` 此代码遍历第一列的前10个单元格,将它们的值相加,并通过消息框显示结果。 #### 6. **学习资源与社区支持** 除了书籍在线教程外,还可以利用各种在线社区论坛获取帮助。Stack Overflow、Microsoft开发者社区以及各类VBA博客都是获取知识解决问题的好地方。此外,实践是学习VBA的最佳方式,尝试为日常工作中的任务编写宏,逐步提升编程技能。 #### 7. **进阶技巧** 随着对VBA的熟悉,可以探索更高级的功能,如用户窗体(UserForms)的创建、类模块的使用、与外部数据库的交互等。这些功能可以进一步扩展VBA的应用范围,使其成为强大的自动化工具。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值