通过所有床单macros观循环,不工作

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

    • 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 

    每次运行macros时,它都会着色,只有活动工作表(即使活动工作表是超出范围的工作表之一)。

第一:使用Thisworkbook.Worksheets,而不是ThisWorkbook.Sheet作为表格,如果有的话,也将包括图表,它会与您的代码失败。

第二:在与ws的范围。

 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 

编辑:其他信息:

 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) FirstBlank = .Range("E2:E" & .Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row .Range("E" & FirstBlank).FormulaR1C1 = "=SUMIFS(HYP!C[3],HYP!C[-4],RC[-2],HYP!C[-1],"">=""&RC[-4],HYP!C,""<=""&RC[-3])" End With End If Next ws 

这将在ws工作表的E列中find第一个空白单元格,并将公式放入find的单元格中。 如果这是你所需要的…