excel - 将过滤后的数据从一张表复制到另一张表

标签 excel vba

我正在尝试将过滤后的数据从一张纸复制到另一张纸。它将所有内容复制到同一行。

如何填充所有行而不是将它们复制到同一行上?

这是我修改的代码:

Private Sub Workbook_Open()
    Dim i, LastRow

    LastRow = Sheets("Scheduled WO's").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("Branden").Range("A2:Q10000").ClearContents

    For i = 2 To LastRow
        If Sheets("Scheduled WO's").Cells(i, "G").Value = "Branden" Then
            Sheets("Scheduled WO's").Cells(i, "G").EntireRow.Copy Destination:=Sheets("Branden").Range("A" & Rows.Count).End(xlUp).Offset(1)
        End If
    Next
End Sub

最佳答案

你必须取消声明

Sheets("Branden").Range("A2:Q10000").ClearContents

在它所在的工作簿的每个开口处清除“Branden”工作表单元格

此外,由于您需要过滤,您可能需要使用 Autofilter并避免循环通过单元格
Private Sub Workbook_Open()
    With Worksheets("Scheduled WO's")
        With .Range("G1:G" & .Cells(.Rows.Count, 1).End(xlUp).Row)
            .AutoFilter field:=1, Criteria1:="Branden"
            If Application.WorksheetFunction.Subtotal(103, .Cells) - 1 > 0 Then .Offset(1).Resize(.Rows.Count - 1).SpecialCells(XlCellType.xlCellTypeVisible).EntireRow.Copy Worksheets("Branden").Range("A" & Rows.Count).End(xlUp).Offset(1)
        End With
        .AutoFilterMode = False
    End With
End Sub

关于excel - 将过滤后的数据从一张表复制到另一张表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40272678/

相关文章:

image - 从 Excel 文档中提取图像

java - 使用 Apache POI 写入数据时,单元格格式化以删除 Excel 单元格中的小数点

excel - 在图表 vba 中生成第二个轴

vba - 使用 Sheets.Range.Offset 的行上的应用程序或对象定义的错误

VBA代码设置打印区域,适合1x1页面并且不为某些选项卡设置打印区域

excel - 我需要将多个用户选择的行复制到不同的工作表。问题是,每次宏运行时选择的行都不同

excel - 复制带有选中复选框的行

excel - 如果没有找到与搜索值匹配的行

excel - 无法通过 getOpenFilename 打开 excel 文件

vba - 返回select语句结果