尝试创建循环

时间:2020-07-02 18:41:21

标签: excel vba

我正在尝试创建一个循环

应该在所有工作表之间复制A1:AZ1数据,并将特殊值粘贴到新工作表中。

Sub CombineData()
Dim I As Long
Dim xRg As Range
On Error Resume Next

  Worksheets.Add Sheets(1)
  ActiveSheet.Name = "Count"

  For I = 2 To Sheets.Count
    Set xRg = Sheet1.Range("A1:AZ1")

    If I > 2 Then
      Set xRg = Sheets(1).Cells(xRg.Rows.Count + 1, 1)
    End If

    Sheets(I).Activate
    ActiveSheet.Range("A1:AZ1").Copy
  Next
End Sub

FaneDuru是的,您是对的,我的评论数已停止

1 个答案:

答案 0 :(得分:2)

请尝试另一种方法。现在,它将添加一个新工作表,并在所有连续工作表中的所有连续工作表中复制“ A1:AZ1”范围的内容(作为值)。这是您需要的吗?

Sub CopyRangeFromAllSheets()
  Dim sh As Worksheet, ws As Worksheet, arr As Variant, lastEmptyR As Long
  
   Set sh = Sheets.aDD: sh.Name = "Count"
   
   For Each ws In ActiveWorkbook.Worksheets
        If ws.Name <> sh.Name Then
            arr = ws.Range("A1:AZ1").Value
            lastEmptyR = sh.Range("A" & Rows.count).End(xlUp).row
            sh.Range("A" & lastEmptyR & ":AZ" & lastEmptyR).Value = arr
        End If
   Next
End Sub

由@Shoaib Ali编辑,无法发表评论:

是的,很好,谢谢,我的评论数已停止