如何解决VBA循环复制,粘贴和执行其他VBA
我对循环和尝试在现有宏上学习相对较新。我什至从一个简单的方法入手。我从B6上的一个工作簿开始有一系列数据,并且该列表可能永远存在。我希望我的循环能做的是:
- 复制B6
- 转到另一个工作簿,将其粘贴到单元格中
- 运行另一个VBA
- 将使用#2值的#3踢出数据复制并粘贴到另一张工作表中
- 循环并从头开始进入B7。 B7完成后的一项更改是,它将粘贴在先前#4中已经粘贴的数据下方。
解决方法
我不知道您为什么需要在一本工作簿中使用多个VBA过程来执行此操作。
在工作簿#1中,我将有一个子程序,其启动如下:
Dim wb1 as Workbook,wb2 as Workbook,wb3 as workbook
Dim iRow1 as Long,iRow2 as Long,iRow3 as long
Dim data1 as Variant,ws1 as Worksheet,ws2 as Worksheet,ws3 as Worksheet
set wb1 = ThisWorkbook
set wb2 = ThisWorkbook.Application.Workbooks.Open <Your workbook filename>
set wb3 = ThisWorkbook.Application.Workbooks.Open <Your other workbook filename>
set ws1 = wb1.Worksheets("MySheet1")
set ws2 = wb2.Worksheets("MySheet2")
set ws3 = wb3.Worksheets("MySheet3")
iRow1 = 6
iRow2 = 1
Do while len(ws1.cells(iRow1,2)) > 0
data1 = ws1.cells(iRow1,2)
ws2.cells(iRow2,1) = data1
iRow2 = iRow2 + 1
[Rest of Your Code]
iRow = iRow + 1
Loop
打开所有工作簿并明确引用所有内容后,无需运行多个VBA过程或担心要复制或使用哪些数据。
我知道Python的人们喜欢它的弱类型,但是如果您利用VBA的强类型和对象关联,那么编程将变得轻而易举,并且随后维护您的程序的人将会更加快乐。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。