Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1873|回复: 3

[已解决]请教:G到O列如果有一个数值大于等于20则保留该行,否则删除该行

[复制链接]
发表于 2016-11-14 07:57 | 显示全部楼层 |阅读模式
G到O列如果有一个数值大于等于20则保留该行,否则删除该行全部内容。谢谢各位
最佳答案
2016-11-14 10:11
  1. Sub Greenhand()
  2.     Dim i&, j%
  3.     On Error GoTo err
  4.     With Worksheets("sheet1")
  5.         For i = 3 To .Cells(65536, 1).End(3).Row
  6.         k = 0
  7.             For j = 7 To 15
  8.                 If IsNumeric(.Cells(i, j)) And .Cells(i, j) >= 20 Then
  9.                     k = k + 1
  10.                 End If
  11.             Next j
  12.             If k = 0 Then .Cells(i, "iv") = "=1/0"
  13.         Next i
  14.         .Range("iv:iv").SpecialCells(-4123, 16).EntireRow.Delete
  15.     End With
  16. err:    Exit Sub
  17. End Sub
复制代码

G到O列如果有一个数值大于等于20则保留该行,否则删除该行.rar

2.87 KB, 下载次数: 5

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-11-14 10:11 | 显示全部楼层    本楼为最佳答案   
  1. Sub Greenhand()
  2.     Dim i&, j%
  3.     On Error GoTo err
  4.     With Worksheets("sheet1")
  5.         For i = 3 To .Cells(65536, 1).End(3).Row
  6.         k = 0
  7.             For j = 7 To 15
  8.                 If IsNumeric(.Cells(i, j)) And .Cells(i, j) >= 20 Then
  9.                     k = k + 1
  10.                 End If
  11.             Next j
  12.             If k = 0 Then .Cells(i, "iv") = "=1/0"
  13.         Next i
  14.         .Range("iv:iv").SpecialCells(-4123, 16).EntireRow.Delete
  15.     End With
  16. err:    Exit Sub
  17. End Sub
复制代码
回复

使用道具 举报

发表于 2016-11-14 11:35 | 显示全部楼层
Sub test()
    Dim A, i, j, s
    Sheets(2).Cells.Clear
    Sheets(1).Select
    Rows("1:2").Copy Sheets(2).Range("a1")
    A = Range("a1").CurrentRegion
    s = 2

    For i = 3 To UBound(A)
        For j = 7 To UBound(A, 2) - 3
            If A(i, j) > 19 Then Exit For
        Next j

        If j = UBound(A, 2) - 2 Then
            s = s + 1
            For j = 7 To UBound(A, 2) - 3
                A(s, j) = A(i, j)
            Next j
        End If
    Next i

    Sheets(2).Select
    Range("a1").Resize(s, UBound(A, 2)) = A
End Sub

2.rar (10.24 KB, 下载次数: 4)
回复

使用道具 举报

 楼主| 发表于 2016-11-16 12:04 | 显示全部楼层
谢谢二位老师。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 14:18 , Processed in 0.435723 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表