有没有办法遍历 table (listobject) 列中的可见单元格?
Is there a way to loop through the visible cells in a table (listobject) column?
在 Excel table (ListObject
) 中,我已经开始跟踪数百部电影及其状态,因为我将它们翻录到光盘以在 Plex 中使用。 table 没什么特别的;它存储了您期望的内容,例如翻录文件夹、Plex 媒体文件夹、电影名称、发行年份、我存储原始光盘文件副本的备份文件夹等。我在之后创建了工作簿为了更容易跟踪,我已经拍了几百部电影。由于在创建工作簿之前我的方法不一致,我现在需要对工作簿进行一些清理。我想使用 VBA 来完成它,因为手动更正会很乏味、容易出错并且需要很长时间。我有一个算法,我相信它会起作用,但它依赖于循环遍历已过滤 table 列中可见单元格的能力——我将使用该列来确定是否需要进行任何更正在该行,然后在需要的地方,需要进行更正的列。
如有任何指导,我们将不胜感激!
谢谢
Sub Test()
Set MyTable = Worksheets("Sheet1").ListObjects("Table1")
With MyTable
For i = 1 To .DataBodyRange.Rows.Count
If .DataBodyRange.Rows(i).EntireRow.Hidden = False Then
[Do Something]
End If
Next i
End With
End Sub
将 [Do Something]
替换为您希望对可见行执行的操作,例如:
Sub Test()
Set MyTable = Worksheets("Sheet1").ListObjects("Table1")
With MyTable
For i = 1 To .DataBodyRange.Rows.Count
If .DataBodyRange.Rows(i).EntireRow.Hidden = False Then
.DataBodyRange(i, 3).Value = "I'm not hidden!"
End If
Next i
End With
End Sub
其中输入“我没有隐藏!”对于每个可见行,进入 table 的第三列。
在 Excel table (ListObject
) 中,我已经开始跟踪数百部电影及其状态,因为我将它们翻录到光盘以在 Plex 中使用。 table 没什么特别的;它存储了您期望的内容,例如翻录文件夹、Plex 媒体文件夹、电影名称、发行年份、我存储原始光盘文件副本的备份文件夹等。我在之后创建了工作簿为了更容易跟踪,我已经拍了几百部电影。由于在创建工作簿之前我的方法不一致,我现在需要对工作簿进行一些清理。我想使用 VBA 来完成它,因为手动更正会很乏味、容易出错并且需要很长时间。我有一个算法,我相信它会起作用,但它依赖于循环遍历已过滤 table 列中可见单元格的能力——我将使用该列来确定是否需要进行任何更正在该行,然后在需要的地方,需要进行更正的列。
如有任何指导,我们将不胜感激! 谢谢
Sub Test()
Set MyTable = Worksheets("Sheet1").ListObjects("Table1")
With MyTable
For i = 1 To .DataBodyRange.Rows.Count
If .DataBodyRange.Rows(i).EntireRow.Hidden = False Then
[Do Something]
End If
Next i
End With
End Sub
将 [Do Something]
替换为您希望对可见行执行的操作,例如:
Sub Test()
Set MyTable = Worksheets("Sheet1").ListObjects("Table1")
With MyTable
For i = 1 To .DataBodyRange.Rows.Count
If .DataBodyRange.Rows(i).EntireRow.Hidden = False Then
.DataBodyRange(i, 3).Value = "I'm not hidden!"
End If
Next i
End With
End Sub
其中输入“我没有隐藏!”对于每个可见行,进入 table 的第三列。