循环不工作-Excel VBA

循环不工作-Excel VBA,vba,excel,Vba,Excel,由于某种原因,此阵列无法工作!有什么不对劲吗?基本上,它应该循环遍历每个工作表,并为每个工作表提供相同的标题 WorksheetNames = Array("Sheet1", "Sheet2") For Each ws In WorksheetNames With Worksheets(ws) .Range("F1").FormulaR1C1 = "PSTRIK" .Range("A1").FormulaR1C1 = "PRECID" .R

由于某种原因,此阵列无法工作!有什么不对劲吗?基本上,它应该循环遍历每个工作表,并为每个工作表提供相同的标题

WorksheetNames = Array("Sheet1", "Sheet2")
For Each ws In WorksheetNames
    With Worksheets(ws)
        .Range("F1").FormulaR1C1 = "PSTRIK"
        .Range("A1").FormulaR1C1 = "PRECID"
        .Range("C1").FormulaR1C1 = "PEXCH"
        .Range("J1").FormulaR1C1 = "PQTY"
        .Range("G1").FormulaR1C1 = "PCTYM"
        .Range("D1").FormulaR1C1 = "PFC"
        .Range("B1").FormulaR1C1 = "PACCT"
        .Range("K1").FormulaR1C1 = "PPRTCP"
        .Range("E1").FormulaR1C1 = "PSUBTY"
        .Range("H1").FormulaR1C1 = "PSBCUS"
        .Range("I1").FormulaR1C1 = "PBS"
    End With
Next ws

我怀疑你在寻找这样的东西:

Sub tgr()

    Dim ws As Worksheet
    Dim aHeaders As Variant

    aHeaders = Array("PRECID", "PACCT", "PEXCH", "PFC", "PSUBTY", "PSTRIK", "PCTYM", "PSBCUS", "PBS", "PQTY", "PPRTCP")

    For Each ws In ActiveWorkbook.Sheets
        Select Case ws.Name
            'any worksheet names listed here won't have their headers updated
            Case "NoUpdate", "Leave Alone"
                'Do nothing

            'Update headers for all other sheets
            Case Else
                ws.Range("A1").Resize(, UBound(aHeaders) - LBound(aHeaders) + 1).Value = aHeaders
        End Select
    Next ws

End Sub

它是否适用于名为“Sheet1”和“Sheet2”的图纸?这些是您指定用于放置这些标题的唯一工作表。您的工作簿中是否确实有名为“Sheet1”和“Sheet2”的工作表?
Dim ws as Workbench
和工作表中每个ws的
(这将完成所有工作表)。从本质上看,这似乎是一个打字错误,投票结束时是离题的。什么不起作用?它循环吗?有错误信息吗?@Tigerayter实际上还有16张工作表,我只是放了“Sheet1”和“Sheet2”以节省空间。工作表的实际名称不是Sheet1和Sheet2,但是在这里输入更容易。您必须在这里帮助我们。如果您在循环上设置断点并使用F8单步执行,会发生什么?