![688ca756ae26a63b281a1dbacd559c33.png](https://i-blog.csdnimg.cn/blog_migrate/3ca1cc47a8328e39de826818d3259105.jpeg)
VBA小常识(12)—for each in循环与workbook对象
学习自杨洋老师《全民一起学VBA》
1. for each 循环可以用在任何一个集合对象上,例如worksheets、workbooks、range等
2. for each 循环的典型结构如下:
For each a in b
……
Next a
循环扫描集合b中的每一个元素,赋值给a
相当于:
For i=1 to b.count
a=b(i)
……
Next i
3. 字符串比较的时候,可以使用trim函数去除字符串两边由于手误而输入的多余空格,再进行比较。有时候有些名称并不区分大小,这时就可以用lcase或者ucase函数转换为全部大写,或全部小写再进行比较。
Workbook汇总不同工作簿文件
1. workbook代表一个打开的工作簿文件,所有打开的文件组合成workbooks集合。
2. workbooks.open("文件路径")。打开指定路径的Excel文件,并返回一个Workbook对象。路径写法,如"D:a文件夹b文件夹数据.xlsx"。也可以写"数据.xlsx",此时路径默认为vba程序所在的excel文件所在的路径,但不建议使用这种写法。
3. workbooks.close 关闭这个workbook文件
4. workbook.saveas "路径及文件名"。将workbook文件保存到指定路径和文件名下。"路径及文件名"前后没有括号
5. workbooks.add 新建一个工作簿文件,并作为一个workbook对象返回。
错误提示可以对应的错误
运行时错误‘91’:
对象变量或With块变量未设置
1. 变量名写错了,函数名写错了
2. 对象赋值时,忘记了加关键字set