簡體   English   中英

每個工作表循環的Excel VBA(在多個工作表上運行相同的VBA宏代碼)

[英]Excel VBA For Each Worksheet Loop (Run Same VBA Macro Code On Multiple Sheets)

我有3個具有不同數據的工作表的工作簿。 現在,我正在嘗試為每個工作表執行相同的代碼(將特定的單詞與來自1,3列的數據連接起來,然后將3個單元格的范圍從行轉移到列)下面的代碼實際上並不需要我執行此操作。簡單地對最后一張紙做正確的操作,然后將此結果復制到另一張紙上。 但是我需要每張紙的唯一結果。 任何幫助是極大的贊賞!

Option Explicit

Sub forEachWS()
    Dim wb                  As Workbook
    Dim ws                  As Worksheet

Set wb = ActiveWorkbook

For Each ws In wb.Worksheets
    ws.Columns("G:J").Clear
    Call execute(ws)
Next
End Sub

Sub execute(ws As Worksheet)
    Dim intLastRow          As Long
    Dim intR                As Long
    Const intStartRow       As Integer = 2
    Dim destRow             As Long

With ws

  intLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row

  destRow = 2

  For intR = intStartRow To intLastRow
      .Range("G" & intR) = "ID =" & Cells(intR, 1).Value
      .Range("H" & intR) = "[FROM].[#" & Cells(intR, 3).Value
      .Range("I" & intR) = "END"
      .Range("G" & intR & ":I" & intR).Copy
      .Range("J" & destRow).PasteSpecial Transpose:=True
      destRow = destRow + 3
  Next
End With
End Sub

我很驚訝,但是在以下情況下可以使用:

Cells(intR, n).Value

替換為:

Range("Colmn" & intR).Value

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM