通过所有工作表循环宏,而不是工作

时间:2016-06-04 11:43:36

标签: excel vba loops macros

  • 我试图运行下面的宏但它没有成功运行。

    • 宏目标是在代码上提到的所有工作表上循环操作“为单元格”S1“”着色。
       Sub test2()
        Dim ws As Worksheet
    
        For Each ws In ThisWorkbook.Sheets
            If (ws.Name <> "COVER") And (ws.Name <> "DATA") And (ws.Name <> "HYP") Then    
                With ws            
                    Range("S1").Interior.Color = RGB(255, 0, 0)           
                End With
            End If
        Next ws
    End Sub
    

    每次运行宏时,只有活动工作表才​​会着色,即使活动工作表是超出范围的工作表之一。

1 个答案:

答案 0 :(得分:2)

首先:使用Thisworkbook.Worksheets而不是Thisworkbook.Sheets as Sheets也会包含图表(如果有的话),它会因代码而失败。

第二名:。使用ws。

subplot(9,4,36)
plot(x,y)

编辑:其他信息:

Sub test2()
Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
    If (ws.Name <> "COVER") And (ws.Name <> "DATA") And (ws.Name <> "HYP") Then    
        With ws            
            .Range("S1").Interior.Color = RGB(255, 0, 0)           
        End With
    End If
Next ws
End Sub

这将找到ws工作表的E列中的第一个空白单元格,并将公式放入找到的单元格中。如果这就是你需要的......