excel - VBA将另一个变量添加到循环中
问题描述
我有一个方法CreatePage()
。我想循环变量以通过方法。我设法让它适用于一个变量:
Sub main()
Dim rng As Range
Dim aSht As Worksheet
Set aSht = ThisWorkbook.Sheets("Sheet1")
For Each rng In aSht.Range("A5:A8")
CreatePage(rng)
Next rng
End Sub
我需要它循环如下:
CreatePage("A5", "C6")
CreatePage("A6", "C7")
CreatePage("A7", "C8"), ...
我被困在如何通过两个变量。这是我到目前为止所取得的成就,但我认为我的方向并不正确:
Sub main()
Dim rng As Range
Dim rng2 As Range
Dim aSht As Worksheet
Dim bSht As Worksheet
Set aSht = ThisWorkbook.Sheets("Sheet1")
Set bSht = ThisWorkbook.Sheets("Sheet2")
For Each rng In aSht.Range("A5:A8")
For Each rng2 In bSht.Range("C6:C9")
CreatePage(rng,rng2)
Next rng, rng2
End Sub
我已经调整CreatePage()
为持有两个变量。我对在 for 循环中获取第二个变量感到困惑。任何人都可以帮忙吗?
解决方案
嵌套的 for 循环在这里无济于事。您只需要循环一个范围并从另一个范围中选择所需的单元格
Sub main()
Dim rng As Range
Dim rng2 As Range
Dim aSht As Worksheet
Dim bSht As Worksheet
Set aSht = ThisWorkbook.Sheets("Sheet1")
Set bSht = ThisWorkbook.Sheets("Sheet2")
Dim idx As Long
Set rng = aSht.Range("A5:A8")
Set rng2 = bSht.Range("C6:C9")
'You might want to add code here to check the size and shape of your ranges
For idx = 1 To rng.Cells.Count
CreatePage rng.Cells(idx), rng2.Cells(idx)
Next
End Sub
推荐阅读
- visual-studio-code - Vscode:如何配置“打开新选项卡(编辑器)”键盘快捷键?
- javascript - JS 过滤器无法正常工作。不知道为什么?
- firemonkey - 如何将 windows 媒体播放器添加到 fmx delphi?
- powershell - PSScriptAnalyzer 检查 PSCredential 类型
- http2 - pushy apns 无法通过 AWS 负载均衡器
- repository - SAP HANA 删除所有存储库对象
- oracle - 如何在 PL/SQL 中发出休息请求?
- android - 使用 kotlin 中的类将嵌套数据提取到 Firestore
- python - 在 Debian 9“Strech”中安装 w3af?
- javascript - 在 HTML 文件中移动 JavaScript 会导致悬停问题