Excel精英培训网

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

[已解决]求助,修改宏代码

[复制链接]
发表于 2012-10-8 07:41 | 显示全部楼层 |阅读模式
删除f列√和删除H含有"销户"或"无法联系"的意思所在行,改a列为c列为判断,有时a列无数据,f列和h列是两个条件,符合其中1个条件的都删除
Sub yy()
    Dim arr As Variant
    Dim i As Integer, n As Integer
    Dim rng As Range
    Dim brr()
    Dim sh As Worksheet
    For Each sh In Sheets
        Set rng = sh.Range("a4:h" & sh.[a65536].End(3).Row)
        arr = rng.Value
        ReDim brr(1 To UBound(arr), 1 To 8)
        For i = 1 To UBound(arr)
            If arr(i, 6) <> "√" And arr(i, 8) <> "无法联系" And Not arr(i, 8) Like "*销户*" Then
                n = n + 1
                For j = 1 To 8
                    brr(n, j) = arr(i, j)
                Next
            End If
        Next
        If n > 0 Then rng.ClearContents: sh.[a4].Resize(n, 8).Value = brr: n = 0
    Next
End Sub
最佳答案
2012-10-8 08:24
Sub yy()
    Dim arr As Variant
    Dim i As Integer, n As Integer
    Dim rng As Range
    Dim brr()
    Dim sh As Worksheet
    For Each sh In Sheets
        Set rng = sh.Range("a4:h" & sh.UsedRange.Rows.Count)
        arr = rng.Value
        ReDim brr(1 To UBound(arr), 1 To 8)
        For i = 1 To UBound(arr)
            If arr(i, 6) <> "√" And arr(i, 8) <> "无法联系" And Not arr(i, 8) Like "*销户*" Then
                n = n + 1
                For j = 1 To 8
                    brr(n, j) = arr(i, j)
                Next
            End If
        Next
        If n > 0 Then rng.ClearContents: sh.[a4].Resize(n, 8).Value = brr: n = 0
    Next
End Sub

EH(AVEL)-删除.zip

9.54 KB, 下载次数: 10

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-10-8 08:24 | 显示全部楼层    本楼为最佳答案   
Sub yy()
    Dim arr As Variant
    Dim i As Integer, n As Integer
    Dim rng As Range
    Dim brr()
    Dim sh As Worksheet
    For Each sh In Sheets
        Set rng = sh.Range("a4:h" & sh.UsedRange.Rows.Count)
        arr = rng.Value
        ReDim brr(1 To UBound(arr), 1 To 8)
        For i = 1 To UBound(arr)
            If arr(i, 6) <> "√" And arr(i, 8) <> "无法联系" And Not arr(i, 8) Like "*销户*" Then
                n = n + 1
                For j = 1 To 8
                    brr(n, j) = arr(i, j)
                Next
            End If
        Next
        If n > 0 Then rng.ClearContents: sh.[a4].Resize(n, 8).Value = brr: n = 0
    Next
End Sub
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 22:05 , Processed in 0.304194 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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