我的问题是我正在尝试创建一个代码,如果它包含一个值,则将单元格值更改为“X”,需要检查多个工作表中的每个单元格(我很清楚这可能需要很长时间!)。
此应用程序适用于“结构”比实际值更重要的巨大矩阵。很复杂,很难解释(由第3方和非常旧系统创建,然后导出到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
最佳答案
我相信您需要遍历一个范围内的每个单元格,而不是在工作表中。所以修改为阅读
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
关于vba - 在所有单元格、所有工作表、整个工作簿中执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24496624/