Excel精英培训网

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

[已解决]删除指定颜色单元格内容

[复制链接]
发表于 2014-12-16 22:45 | 显示全部楼层 |阅读模式
如附件,谢谢
最佳答案
2014-12-16 23:45
Sub test()
    Dim i
    Dim arr
    Dim rarr(1 To 100, 1 To 1)
    arr = Sheets(2).Range("g1").CurrentRegion
    For i = 1 To UBound(arr)
        If arr(i, 1) = 3 And Sheets(2).Range("G" & i).Interior.ColorIndex = Sheets(2).Range("i4").Interior.ColorIndex Then
            k = k + 1
            rarr(k, 1) = Sheets(2).Range("A" & i)
        End If
    Next
    Range("a1").Resize(k, 1) = rarr
End Sub

新建 Microsoft Office Excel 工作表.zip

9.31 KB, 下载次数: 52

发表于 2014-12-16 22:55 | 显示全部楼层
  1. Sub test()
  2.     Dim i, irow
  3.     irow = Cells(Rows.Count, "g").End(xlUp).Row
  4.     For i = irow To 1 Step -1
  5.         If Range("G" & i).Interior.ColorIndex = Range("c1").Interior.ColorIndex Then
  6.             Range("G" & i).Delete
  7.         End If
  8.     Next
  9. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-12-16 22:56 | 显示全部楼层
as0810114 发表于 2014-12-16 22:55

神速{:211:}
回复

使用道具 举报

 楼主| 发表于 2014-12-16 22:59 | 显示全部楼层
as0810114 发表于 2014-12-16 22:55

老师,我需要保留原有的单元格不动,谢谢
回复

使用道具 举报

 楼主| 发表于 2014-12-16 23:03 | 显示全部楼层
as0810114 发表于 2014-12-16 22:55

保留单元格的颜色和位置,只删除指定颜色的内容,刚刚测试,位置会变动,和颜色一起也删除了
回复

使用道具 举报

发表于 2014-12-16 23:05 | 显示全部楼层
查找-〉*,选项,背景色1-〉全选查找结果,删除内容
回复

使用道具 举报

发表于 2014-12-16 23:08 | 显示全部楼层
Sub test()
    Dim i, irow
    irow = Cells(Rows.Count, "g").End(xlUp).Row
    For i = irow To 1 Step -1
        If Range("G" & i).Interior.ColorIndex = Range("c1").Interior.ColorIndex Then
            Range("G" & i).ClearContents
        End If
    Next
End Sub
回复

使用道具 举报

 楼主| 发表于 2014-12-16 23:17 | 显示全部楼层
as0810114 发表于 2014-12-16 23:08
Sub test()
    Dim i, irow
    irow = Cells(Rows.Count, "g").End(xlUp).Row

行了,谢谢老师
回复

使用道具 举报

 楼主| 发表于 2014-12-16 23:30 | 显示全部楼层
as0810114 发表于 2014-12-16 23:08
Sub test()
    Dim i, irow
    irow = Cells(Rows.Count, "g").End(xlUp).Row

老师 帮忙加个条件   问题在文件里面

新建 Microsoft Office Excel 工作表.zip

10.29 KB, 下载次数: 26

回复

使用道具 举报

发表于 2014-12-16 23:45 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Dim i
    Dim arr
    Dim rarr(1 To 100, 1 To 1)
    arr = Sheets(2).Range("g1").CurrentRegion
    For i = 1 To UBound(arr)
        If arr(i, 1) = 3 And Sheets(2).Range("G" & i).Interior.ColorIndex = Sheets(2).Range("i4").Interior.ColorIndex Then
            k = k + 1
            rarr(k, 1) = Sheets(2).Range("A" & i)
        End If
    Next
    Range("a1").Resize(k, 1) = rarr
End Sub

评分

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

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 18:31 , Processed in 0.461336 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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