excel - 如何修改此代码以仅搜索可见的行和列

标签 excel vba search visible

我有一个用户表单,允许用户选择与用户相关的行和列进行检查。我正在使用此代码,但它会搜索所有行和所有列,因此不会删除正确的行。谁能提出一个适用于行和列的解决方案来解决这个问题?谢谢。

Dim RowToTest As Long
Dim MySheet As Worksheet
Dim ProjectedDate As Date
Dim ColToTest As Long
Dim TempKeep As Integer
TempKeep = 0

ProjectedDate = Date + 60

For Each MySheet In ThisWorkbook.Sheets
    For RowToTest = MySheet.Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
        For ColToTest = MySheet.Cells(2, Columns.Count).End(xlToLeft).Column To 15 Step -1
            With MySheet.Cells(RowToTest, ColToTest)
                If IsDate(MySheet.Cells(RowToTest, ColToTest).Value) Then
                    If .Value < ProjectedDate Then
                        TempKeep = 1
                    End If
                End If
            End With
        Next ColToTest
        If TempKeep = 0 Then
            MySheet.Rows(RowToTest).EntireRow.Delete
        End If
        TempKeep = 0
    Next RowToTest
Next

最佳答案

您可以通过单元格的 .Rows.Columns 属性检查单元格是否隐藏,如下所示:

If CelToCheck.Rows.Hidden or CelToCheck.Columns.Hidden Then
    'Your code if hidden
Else
    'Code if not hidden
End if

在你的情况下 CelToCheck 是

MySheet.Cells(RowToTest, ColToTest)

或者,您可以设置范围变量并仅使用

循环遍历可见单元格
For each CL in RangeVariable.SpecialCells(xlCellTypeVisible)
    'Your code
Next CL

关于excel - 如何修改此代码以仅搜索可见的行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56302703/

相关文章:

excel - 列与单元格的乘积之和

vba - vlookup分割值VBA

vba - 检查 VBA 中是否存在趋势线

batch-file - 批处理脚本 - 在目录中的多个文件中查找和替换文本

php - Python 从搜索结果中抓取链接

search - @user 和 #hashtag 的 Twitter 搜索查询

vba - 无法修改单元格的 .Text 属性

excel - 有条件复制粘贴

vba - winsock 连接功能仅适用于高速连接

vba - 将数据从 Web 插入 Excel 工作表 - VBA