excel - 搜索多个工作表并将其中列 A >0 的所有行复制到指定工作表

标签 excel rows conditional-statements worksheet

问候,

我已经查找了很多代码来帮助我做到这一点,虽然我发现了一些暗示它的代码,也许这是我对 vba 的经验不足,但我无法修改任何东西来工作为我。我有一本工作簿,其中有几个数量、零件、描述的工作表。数量在 a 栏中。每个工作簿的前 3 行是标题。我希望在“摘要”工作表中包含代码,用于搜索所有其他工作表并编译摘要表上的所有数量、零件和描述信息(a、b 和 c 列),所以基本上我最终得到数量大于 0 的每个项目的摘要页面上的列表,从第 4 行开始。任何提示或建议将不胜感激。

非常感谢, 威廉

最佳答案

我正在尝试解决问题,但我看到eggplant_parm已经回答了你。 顺便说一句,这是我的解决方案,与他的非常相似。

Option Explicit

Sub copy_info()
Dim i As Long, j As Long, lastRow As Long
Dim sh As Worksheet
With Sheets("Summary")
.Cells.Clear
.Range("A1") = "Quantity"
.Range("B1") = "Parts"
.Range("C1") = "Description"
.Range("D1") = "Sheet name"
.Range("A1:D1").Font.Bold = True
End With

j = 2

For Each sh In ActiveWorkbook.Sheets
    If sh.Name <> "Summary" Then
        lastRow = sh.Cells(sh.Rows.Count, "A").End(xlUp).Row
        For i = 4 To lastRow
            If sh.Range("A" & i) > 0 Then
                sh.Range("a" & i & ":c" & i).Copy Destination:=Worksheets("Summary").Range("A" & j)
                Sheets("Summary").Range("D" & j) = sh.Name
                j = j + 1
            End If
        Next i
    End If
Next sh
Sheets("Summary").Columns("A:D").AutoFit
End Sub

关于excel - 搜索多个工作表并将其中列 A >0 的所有行复制到指定工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6102326/

相关文章:

excel - 如何使 msgbox 成为变量并在错误处理程序上触发它?

excel - 如何自动将行添加到excel中的表中以使数据与同一张表中的其他表匹配

vba - CheckSpelling 函数中的类型不匹配

java 将 .xls 转换为 csv

Mysql 计数和求和行

mysql - 基于行的 id 的 where 子句中的条件

r - 删除数据帧中的每第n行

java - 单击 JButton 后更新 JTable

Mysql 与 Between\in 范围条件

angular - 如何检查用户输入是否小于 Angular 2 中的最大值