Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA工作表循环-如何在n个工作表中移动_Excel_Loops_Vba - Fatal编程技术网

Excel VBA工作表循环-如何在n个工作表中移动

Excel VBA工作表循环-如何在n个工作表中移动,excel,loops,vba,Excel,Loops,Vba,下面是一个简单的循环,它将一个范围复制到同一工作表上的另一个位置。这还需要遍历所有剩余的工作表,并执行相同的复制粘贴值。我在循环中使用变量Dim ws是可疑的 Sub UpdateSPCData() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets Select Case UCase(wsLoop) Case "Data - MOAQ", "Report" 'Do nothing Case Else

下面是一个简单的循环,它将一个范围复制到同一工作表上的另一个位置。这还需要遍历所有剩余的工作表,并执行相同的复制粘贴值。我在循环中使用变量Dim ws是可疑的

Sub UpdateSPCData()
Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
    Select Case UCase(wsLoop)
    Case "Data - MOAQ", "Report" 'Do nothing
    Case Else
        Range("H2:H5").Copy
        Range("I2").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    End Select
Next ws
End Sub

我想你需要这个。此外,如果检查大写名称,则必须确保与大写文本进行比较

Sub UpdateSPCData()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
    Select Case UCase(ws.Name)
    Case "DATA - MOAQ", "REPORT" 'Do nothing
    Case Else
        ws.Range("H2:H5").Copy
        ws.Range("I2").PasteSpecial Paste:=xlPasteValues
    End Select
Next ws

End Sub

什么是wsLoop?您的循环没有引用ws,因此将始终引用活动工作表。这是一个好问题。这是借用的代码。你有什么建议吗?是的,见下文。SJR,谢谢。我应该更有耐心,通读代码。匆忙工作是不值得的。你好,大卫