要求将该sheet中的所有记录分开,每条记录分到一个sheet中,并将sheet名称命名为债券名称,格式如下 另外,如果现价为0,大概率是因为该债券已经不存在,所以还要剔除掉现价为0的记录。可以参考如下代码: Sub spr() 其中最主要的语句结构就是for和if,要理解这段代码,我们需要先了解vba总的主要判断和循环结构。 判断 1 如果条件A成立,则执行B语句,适用于判断条件只有2个值得时候,可以省略end if 例如判断2是否大于1: If 2 > 1 Then MsgBox True 如果条件A成立,则执行B语句,否则,执行C。适用于判断条件有两个值,且两个值都有输出。 例如判断1是否大于2 If 1 > 2 Then 适用于判断条件有多个值,且都有输出 例如判断0.5在哪个整数区间内 Dim a 与上一条差不多,适用于判断条件有多个值的时候 比如判断3.12取整是多少 Dim a 循环 2 完整语句结构如下: For<</span>循环变量>=<</span>初值> to <</span>终值> [step步长,默认为1] <</span>循环体> [exit for] ‘跳出循环触发语句,执行next后的语句 [循环体] Next [循环变量,变量名可省略] 比如求1到10得累和 Dim a As Byte 需要注意得是,在集合(collection)中,<</span>循环变量>=<</span>初值> to<</span>终值>,也可以写成each<</span>循环变量> in <</span>集合> Dim sht As Worksheet 此外,如果步长为负数(比如step -1),则逆向循环 比如 Dim a As Integer Do [while逻辑表达式] <</span>循环体> [exit do] ‘跳出循环,执行loop后的语句 [循环体] [循环体] Loop 注意loop不可少,是结束标志 同样用其求1到10的累和 Dim a As Integer Do [until逻辑表达式] ‘当条件满足时,退出,直到型 <</span>循环体> [exit do] Loop 同上例,写法如下: Dim a As Integer 跳出 3 VBA中没有continue和break语句,可以用exit实现 比如: Exit for结束当前for循环 Exit do 结束当前do循环 Exit sub 结束当前程序 强烈建议新手不要尝试该操作,就算是熟练了,也尽量不要使用goto语句。具体用法会在后期讲解。
实战开发1:简单贪吃蛇小游戏,要求实现如下效果 实战开发2:将文章开头的拆分工作表改写成拆分工作簿 |
|
来自: L罗乐 > 《VBA基础入门教程》