繁体   English   中英

如何根据多个单元格值将一个工作表中的特定行复制到另一个工作表?

[英]How can I copy specific rows in one worksheet to another based on multiple cell values?

我只有基本的 vba 知识,我正在寻求帮助。 我已经搜索了这个主题,但找不到任何满足我特定需求的东西。 我必须使用由一台测试设备生成的电子表格。 我试图查看从 C 列开始的每一行中的值,最多可达 60 列,这会有所不同。 如果 C7 上的任何单元格的值不是“”,我想将整行复制到新工作表。 每个单元格中的数据将是带有 3 个小数位的正数或负数。 我可能有多达 3500 行到 go 到 10-20 行,其中包含我想要移动的任何信息。 示例在示例屏幕截图中,我只关心复制第 7 行和第 15 行

我想出了这个,但我确信必须有一个更有效的解决方案

    Sub Splice()
   
    Dim lr As Integer 'last row
    Dim lc As Integer 'last column
    Dim r As Integer 'row number
    
    With Worksheets("Splice loss")
    lr = .Cells(.Rows.Count, "A").End(xlUp).Row 'count number of rows
    lc = .Cells(1, Columns.Count).End(xlToLeft).Column 'count number of columns
    End With
    
    i = 7 'first row number in destination sheet
        
    For r = 7 To lr
    With Worksheets("Splice loss")
    If WorksheetFunction.Sum(Range(Cells(r, 3), (Cells(r, lc)))) <> 0 Then 'check values in each row
    Range(Cells(r, 3), Cells(r, lc)).EntireRow.Copy Worksheets("Splices").Range("A" & i) 'copy row with data to new sheet
        
    i = i + 1
    End If
    End With
    Next
    

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM