【发布时间】:2021-06-17 03:46:00
【问题描述】:
我正在构建一个工作簿,其中每个工作表都用于软件安装的不同阶段。我试图通过将失败行复制到摘要表中来汇总 失败 的步骤。我终于让他们拉了,但他们拉到了同一行的新工作表中,因为它们位于原始工作表中。
这是我现在使用的:
Option Explicit
Sub Test()
Dim Cell As Range
With Sheets(7)
' loop column H untill last cell with value (not entire column)
For Each Cell In .Range("D1:D" & .Cells(.Rows.Count, "D").End(xlUp).Row)
If Cell.Value = "Fail" Then
' Copy>>Paste in 1-line (no need to use Select)
.Rows(Cell.Row).Copy Destination:=Sheets(2).Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
End If
Next Cell
End With
End Sub
我需要:
- 拉取单元格包含“失败”的行
- 从第 4 行开始将行复制到主目录并连续向下而不覆盖
- 一次遍历所有工作表- *(它们在安装的每个步骤中都被命名 - 我需要重命名为“sheet1、sheet2 等”????)
- 运行宏时清除以前的结果(以避免重复)
另一位用户向我提供了一个自动过滤宏,但它在这一行的 1004 上失败了 ".AutoFilter 4, "Fail""
Sub Filterfail()
Dim ws As Worksheet, sh As Worksheet
Set sh = Sheets("Master")
Application.ScreenUpdating = False
'sh.UsedRange.Offset(1).Clear 'If required, this line will clear the Master sheet with each transfer of data.
For Each ws In Worksheets
If ws.Name <> "Master" Then
With ws.[A1].CurrentRegion
.AutoFilter 4, "Fail"
.Offset(1).EntireRow.Copy sh.Range("A" & Rows.Count).End(3)(2)
.AutoFilter
End With
End If
Next ws
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
呃,这些都没有产生任何东西?我知道我不擅长 VBA,但我修改了工作簿的工作表编号,但运行时没有任何反应。