我的问题是我试图创建一个代码,将一个单元格值更改为" X"如果它包含一个值,则需要检查多个工作表中的每个单元格(我非常清楚这可能需要很长时间!)。
这个应用程序是一个巨大的矩阵,其中"结构"更重要的是实际价值。这很复杂,很难解释(它是由第三方和非常旧系统创建,然后导出到excel)
我确定我的顺序是正确的,但这不起作用,我得到一个不支持的方法" For Each Cell In ws
Sub Usage_X()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
For Each Cell In ws
If Cell.Value <> "" Then
Cell.Value = "X"
End If
Next
Next
End Sub
答案 0 :(得分:3)
我相信你需要遍历一个范围内的每个单元格,而不是单页。所以修改阅读
Sub Usage_X()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Set rng = ws.UsedRange
For Each Cell In rng
If Cell.Value <> "" Then
Cell.Value = "X"
End If
Next Cell
Next ws
End Sub