excel - 循环不更新 range.row 或 range.column

标签 excel vba

我试图为我的电子表格做一个简单的循环,它循环遍历一个范围并检查该行是否为空,如果不是,则循环遍历一系列列并检查它们是否为空,如果是则它设置一个消息。

问题是每次它通过循环 ro.value 和 col.value 正确更新但列号和行号没有所以我设置的消息总是相同的,无论哪一行或哪列有空白单元格。

这是我的代码:

Dim RoRange As range
Dim Ro As range
Dim Col As range
Dim ColRange As range
Set RoRange = Worksheets("Home").range("LineDescs")
Set ColRange = Worksheets("Home").range("F24:N24")

For Each Ro In RoRange.Rows
    If Ro.Value <> "" Then
        For Each Col In ColRange.Columns
            If Col.Value = "" Then
                Set_Message ("Cell " & ColRange.Column & ":" & RoRange.Row & " is Empty!")
                Exit Sub
            End If
        Next

    End If

Next

“LineDescs”是我的电子表格中的一个命名范围。
请询问您是否需要任何解释谢谢!

最佳答案

您的留言应引用 RoCol因为它们是循环中引用的变量。 RoRangeColRange已修复,因此您的信息将始终相同。

(请注意,要检查一系列单元格的值,您必须遍历每个单元格。)

For Each Ro In RoRange.Rows
    If Ro.Value <> "" Then
        For Each Col In ColRange.Columns
            If Col.Value = "" Then
                Set_Message ("Cell " & Col.Column & ":" & Ro.Row & " is Empty!")
                Exit Sub
            End If
        Next

    End If

Next

关于excel - 循环不更新 range.row 或 range.column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51420794/

相关文章:

vba - !escape 在 VBA 中起什么作用?

excel - VBA : Store value to variable

c# - 给excel饼图添加数据标签

excel - Google 电子表格 COUNTIF TODAY()?

vba - excel中如何即时刷新计算结果

vba - 如何仅在使用 VBScript 打开 Excel 工作簿时运行宏?

excel - 如何更改复制表的名称(在复制粘贴方法期间)?

vba - 如何以编程方式识别所选幻灯片是 PowerPoint 2003 中的母版幻灯片

perl - 在perl中获取excel工作表的名称

vba - 文件选择器,如何指定文件类型?