根据特定列中的值将行复制到 wksheet 不适用于我的整个电子表格

荒地

我正在遍历当前工作表 B 列中的值。如果值的长度为 8 个字符,则将整个行复制到另一个工作表。它有点工作,但我错过了大约一百行应该被复制的行。

我想这与 B 列中单元格值的格式有关。有些只是文本标题,肯定不符合条件。它应该复制的都是这种格式(B列):

6008571X
60088242
....

我感兴趣的行在 B 列中有 8 个字符。问题是它们中的一些可能被格式化为数字,有些可能被格式化为文本(或者可能以 ' 开头)。

Sub aims()
    Dim i As Long
    'Get the address of the first non blank cell in Row B from the bottom
    MyFirstBlankAddress = Range("B1048576").End(xlUp).Offset(1, 0).Address
    'Extract the number from the address to get the row number
    MyRowNumber = Split(MyFirstBlankAddress, "$")(2)

    For i = 1 To MyRowNumber
        With Range("B" & i)
            If Len(.Value) = 8 Then .EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
        End With
    Next i
End Sub

我期待复制 410 行,而只有 276 行被复制。

编辑:我一直在阅读您的答案/建议和测试内容。我发现问题出在别处。我的原始代码以正确的方式识别行,这与复制有关。

如果我将代码更改为仅突出显示匹配的行,它将匹配所有正确的行:

If Len(.Value) = 8 Then .EntireRow.Interior.Color = 5296274

我确定有更好的方法来进行复制/粘贴,这就是您的问题所在,但以下方法有效。

Sub aims()
Dim i As Long
Dim vLastRow As Long
Dim s2 As Long

'find last row in sheet, or you could change to find last row in specified column
'Example: Cells = Columns(column number or letter), Cells(1, 1) = Cells(1, column number)
vLastRow = Cells.Find(what:="*", after:=Cells(1, 1), searchorder:=xlByRows, searchdirection:=xlPrevious).Row
s2 = 1

Application.ScreenUpdating = False

For i = 1 To vLastRow
    If Trim(Len(CStr(Cells(i, 2)))) = 8 Then
        Rows(i).EntireRow.Copy Destination:=Sheets(2).Range(Cells(s2, 1).Address)
        s2 = s2 + 1
    End If
Next i

Application.ScreenUpdating = True

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从电子表格中获取值时,MailApp.sendEmail 不适用于多个收件人

如何将电子表格中的特定行和列复制到记事本?

我的程序将电子表格转换为Excel文件。但这仅适用于一位用户

将列值从一个电子表格复制到另一电子表格,仅添加必要的行

当L列的值与P列匹配时,VBA将行复制到新的电子表格

复制整个电子表格,仅保留值

对整个列执行Google电子表格查询

将列复制到另一个电子表格

将电子表格复制到特定文件夹并从副本中删除查看器

根据列中的最新时间戳将单元格复制到另一个电子表格

编辑其他电子表格时用于复制现有电子表格的脚本

为什么我的应用程序脚本代码将电子表格的副本复制到除特定目录之外的Google Drive的根目录中?

仅将活动行从一个电子表格复制到另一个电子表格

Python脚本没有将整个行放在Excel电子表格中

将另一个电子表格中的彩色单元格复制到当前电子表格

将电子表格从“下载”文件夹本地复制到其他电子表格的主表中

边框半径不适用于我的特定表格 html

使用公式从表格行复制到电子表格

电子表格的反向列

Google脚本+电子表格+打开时将整个表格转换为大写

根据Google电子表格中单个列的值对整个行进行颜色编码(条件格式)

自动创建电子表格后,如何将电子表格的 URL 引用复制到其他 Google 电子表格中的跟踪表

Laravel Excel表格样式不适用于电子表格

如何将数据从Gmail邮件附件复制到电子表格?

将R data.frame复制到Excel电子表格

将电子表格复制到新文件,指定选项卡

Excel VBA:在两个电子表格中删除整个行

我可以根据单独电子表格中的信息修改一个电子表格文档(Google表格)吗

从列的最后一行复制到电子表格的末尾(每次都是变量数)