excel - 有没有办法在同一个 For Each 循环中逐步遍历多个单元格范围?
问题描述
我目前正在尝试创建一个遍历 2 个数据范围的循环。第一个范围是 b16-b35 下一个范围是 j16-j35。目前我只能通过 2 个循环中的 1 个来逐步完成。
我从 For While 循环开始。使用 i 作为 16-35 的变量。当我尝试这种方法时,我无法让 msgbox 打印数据。我搬到了 For each 循环。这使我能够通过一个单元格而不是另一个单元格。
If [D8] = 2 Then
Dim r As Range
Dim j As Range
Dim jcell As Range
Dim cell As Range
Set r = Range("B16:B35")
Set j = Range("J16:J35")
For Each cell In r
For Each hcell In j
If cell = "" Or cell = "N/A" Then GoTo ENDGAME
MsgBox "pn is " & cell & " route is " & jcell
Next jcell
Next cell
ENDGAME:
End IF
当前方法使循环遍历每个 r 的所有 J。我尝试将 for each 循环与 and 语句结合起来,它会破坏代码。
解决方案
不完全确定您要执行的操作,但以下内容应该可以执行您想要执行的操作..
顺便说一句,将单元格定义为范围等不是最佳实践。最好给它一个名称而不是函数等名称。
with thisworkbook.sheets(1)
if .range("B8").value = 2 then
for i = 16 to 35
if .range("B" & i).value = "" or .range("B" & i).value = "N/A" then
goto EndGame
else
msgbox "pn is " & .range("B" & i).value & " route is " & .range("J" & i).value
end if
next i
EndGame:
end if
end with
如果你想做 2 个循环,首先是 B,而不是 J,你可以这样做。但是,如果其中一个循环中的一个单元格不包含任何内容或 n/a -> 函数将停止。如果你想去下一个 (i) ; 迭代。你应该把:
EndGame:
就在之前:
next i
--
dim First_Range_Done as boolean
with thisworkbook.sheets(1)
if .range("B8").value = 2 then
for i = 16 to 35
if First_Range_Done = false then
if .range("B" & i).value = "" or .range("B" & i).value = "N/A" then
goto EndGame
else
msgbox "pn is " & .range("B" & i).value & " route is " & .range("J" & i).value
end if
end if
if First_Range_Done = true
if .range("J" & i).value = "" or .range("J" & i).value = "N/A" then
goto EndGame
else
msgbox "pn is " & .range("B" & i).value & " route is " & .range("J" & i).value
end if
if i = 35 then exit sub
end if
if i = 35 then
First_Range_Done = true
i = 15
end if
next i
EndGame:
end if
end with
推荐阅读
- c# - 任务中遗留 Web 表单中的 Autofac 和解析服务
- java - Mockito 未能通过 Pact 合同测试
- r - 使用 ggplot 和 R 会话中止继续出错
- sql - Laravel 两张表的组合查询
- git - 找不到钥匙串来存储“
" - .net-core - .net Core 3.1 WebApi SSL 连接失败,但 curl 到相同的服务工作
- c# - C# OracleDataAdapater 填充命令抛出“索引超出数组边界”
- javascript - 如何使用 cy.clock() 获取当前日期
- python - 关闭 pygobject 中的所有现有窗口
- javascript - 自定义 Amazon 的 Crowd HTML 元素