在所有单元格中,在所有工作表中,在整个工作簿中执行代码

时间:2014-06-30 18:30:50

标签: excel vba excel-vba

我的问题是我试图创建一个代码,将一个单元格值更改为" 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

1 个答案:

答案 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