【问题标题】:Excel VBA Worksheet loop - How to move through n worksheetsExcel VBA 工作表循环 - 如何在 n 个工作表中移动
【发布时间】:2017-07-18 18:01:56
【问题描述】:

这是一个简单的循环,它将一个范围复制到同一个工作表上的另一个位置。这还需要遍历所有剩余的工作表并执行相同的复制粘贴值。我在循环中使用变量“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

【问题讨论】:

  • 什么是wsLoop?您的循环没有引用ws,因此将始终引用活动工作表。
  • 这是个好问题。是借来的代码。你有什么建议吗?
  • 是的,见下文。

标签: excel loops vba


【解决方案1】:

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

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

【讨论】:

  • SJR,谢谢。我应该更有耐心并通读代码。匆忙工作永远不会有回报。问候,大卫
猜你喜欢
  • 1970-01-01
  • 2014-03-22
  • 2016-11-25
  • 2014-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多