Excel精英培训网

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

[已解决]求助求助,想做一个VBA代码删除部分数据信息

[复制链接]
发表于 2015-7-16 15:03 | 显示全部楼层 |阅读模式
如附件所示,数据样本由序号1至497,日期由1号至20号。我想利用VBA代码,删除范围内的1243,1477,1901,1291,1295,1253,1293,1275,1233 数字。原先使用的都是比较简单的方法,利用替换功能来做。但是现在需要每天出一个这样的表格,需要把上述数字都删掉,工作量太大。看看有啥其他更好的方法....T>T
求助各位大仙!
最佳答案
2015-7-16 15:57
Sub Click()
    Dim A, B, i, j, k
    A = Sheets(1).Range("a1").CurrentRegion
    B = Sheets(2).Range("a1").CurrentRegion

    For i = 2 To UBound(B)
        For j = 2 To UBound(B, 2)
            For k = 1 To UBound(A)
                If InStr(B(i, j), A(k, 1)) Then B(i, j) = VBA.Replace(B(i, j), A(k, 1), "")
            Next k
        Next j
    Next i

    With Sheets(3)
        .Range("a1").CurrentRegion = ""
        .Range("a1").Resize(i - 1, j - 1) = B
        .Select
    End With
End Sub
2015.07.16 原始数据2.rar (81.55 KB, 下载次数: 5)

2015.07.16 原始数据.rar

58.72 KB, 下载次数: 15

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-7-16 15:48 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2015-7-16 15:52 | 显示全部楼层
Excel学徒123 发表于 2015-7-16 15:48
每个月都这样的数字?

实际上,是每天都是这样的数字。
回复

使用道具 举报

发表于 2015-7-16 15:57 | 显示全部楼层
  1. Sub 批量替换()
  2. Application.ScreenUpdating = False
  3. Dim x%
  4.   Cells.Select
  5.     For i = 1 To Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
  6.       x = Sheets(1).Cells(i, 1)
  7.         Selection.Replace What:=x, Replacement:=""
  8.     Next
  9. Application.ScreenUpdating = True
  10. End Sub
复制代码

评分

参与人数 1 +1 收起 理由
Veeko + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-7-16 15:57 | 显示全部楼层    本楼为最佳答案   
Sub Click()
    Dim A, B, i, j, k
    A = Sheets(1).Range("a1").CurrentRegion
    B = Sheets(2).Range("a1").CurrentRegion

    For i = 2 To UBound(B)
        For j = 2 To UBound(B, 2)
            For k = 1 To UBound(A)
                If InStr(B(i, j), A(k, 1)) Then B(i, j) = VBA.Replace(B(i, j), A(k, 1), "")
            Next k
        Next j
    Next i

    With Sheets(3)
        .Range("a1").CurrentRegion = ""
        .Range("a1").Resize(i - 1, j - 1) = B
        .Select
    End With
End Sub
2015.07.16 原始数据2.rar (81.55 KB, 下载次数: 5)

评分

参与人数 1 +1 收起 理由
Veeko + 1 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-7-16 16:09 | 显示全部楼层
Sub 删除数字()
    Dim arr, x
    arr = Application.Transpose(Sheet1.[a1:a9])
    For x = 1 To UBound(arr)
        Sheet2.UsedRange.Replace arr(x), "", 2
    Next
    MsgBox "删除完毕!"
End Sub

评分

参与人数 1 +1 收起 理由
Veeko + 1 赞一个!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 07:30 , Processed in 0.428643 second(s), 18 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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