首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的嵌套For-Each循环不会遍历给定范围内的每个单元格

我的嵌套For-Each循环不会遍历给定范围内的每个单元格
EN

Stack Overflow用户
提问于 2019-01-04 00:52:08
回答 1查看 312关注 0票数 1

在Excel VBA中:

我的第二个For-Each循环只遍历给定列中的第一个单元格。我需要帮助让它遍历整个列中的每个单元格。

在这里包含的代码中,我希望遍历一行中的每个单元格(没有问题)。然后,一旦行中的一个单元格符合我的条件(没有问题),我希望遍历该单元格的列(问题)中的每个单元格(celltwo)。

我可以遍历行并确定我的条件,但是第二个for-each循环只考虑给定列中的第一个celltwo。所以我从来没有用过.row >=10,每列的第一个单元格都有row=1。

任何帮助都是非常感谢的。

这是针对Excel中的VBA的。我尝试了不同的方法来识别要循环通过的第二个范围,但没有任何方法允许第二个for-each循环从"Next Celltwo“循环回到循环的开头。

代码语言:javascript
运行
复制
Sub WriteSummary()
Dim UploadRange As Range
Dim SummaryRow As Integer
Dim CategoryRange As Range
Dim Cell As Range
Dim Celltwo As Range

''''''''''''''''''''''''''''''''''''''''''''''''''''
'Set Variables
    Set MacroFile = ThisWorkbook
    Set MacroSheet = ThisWorkbook.Worksheets("Macro")
    Set UploadDash = ThisWorkbook.Worksheets("Upload Dash")
    Set SummarySheet = ThisWorkbook.Worksheets("Summary")
    Set IndexSheet = ThisWorkbook.Worksheets("Indexes")
    Set CategoryRange = UploadDash.Range("5:5")
''''''''''''''''''''''''''''''''''''''''''''''''''''
'Determine Output Row
SummaryRow = SummarySheet.Cells(Rows.Count, 1).End(xlUp).Row + 1

''''''MY PROBLEM STARTS HERE'''''''

For Each Cell In CategoryRange
If Cell.Value = 8840 Then
    For Each Celltwo In SummarySheet.Cells(, Cell.Column).EntireColumn
                i = MsgBox(Celltwo.Row, vbOKOnly)
        If Celltwo.Row >= 10 Then

            If Celltwo.Value > 0 Then
            o = MsgBox(Celltwo.AddressLocal)

                SummaryRow = SummaryRow + 1
            Else
            End If
        Else

        End If
    Next Celltwo '''''DOES NOT LOOP'''''
Else
End If
Next Cell

我希望当代码找到cell.value =8840时,它将遍历单元格的列中的每个单元格。相反,它只遍历该列中的第一个单元格,并退出第二个for-each循环

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 00:57:54

Cells需要一个行和列参数,但我认为是EntireColumn将整个列作为一个范围。

改为尝试类似这样的操作,它将限制为包含某些内容的单元格。

它从第6行开始,因此根据需要进行修改。

代码语言:javascript
运行
复制
With SummarySheet
    For Each Celltwo In .Range(.Cells(6, Cell.Column), .Cells(.Rows.Count, Cell.Column).end(xlup))
        ' etc
    Next
End With
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54026534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档