ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: 合肥狮子

[分享] 怎样才能让宏自动帮我查找清空区域?

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-1-15 11:50 | 显示全部楼层

求助:怎样才能让宏自动帮我查找并替换成白色字体区域

本帖最后由 合肥狮子 于 2013-1-16 13:54 编辑
yangyangzhifeng 发表于 2013-1-5 00:45
你的工作表有太多函数,现改为数组及禁事件和改为手动重算,速度应该可以了


您好!
我想以这个宏为基础再做个宏,《怎样才能让宏自动帮我查找并替换成白色字体区域?》
意思是把原来的需要清空的区域,不清空了,改成“白色字体”,让人看不见即可,不清除了。
请帮忙帮我再做一下这个宏,谢谢!

TA的精华主题

TA的得分主题

发表于 2013-1-18 13:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
合肥狮子 发表于 2013-1-15 11:50
您好!
我想以这个宏为基础再做个宏,《怎样才能让宏自动帮我查找并替换成白色字体区域?》
意思是把 ...

将清除内容代码改为修改字体颜色即可,试试看
  1. Sub 事中选定区域清空()
  2.     Dim Myarr As Range, i&, conf1, conf2, ar, rng As Range, st$, c&, r&, rr As Range, brr, rw, cc
  3.     On Error Resume Next
  4.     conf1 = MsgBox("是否已备份 确认清空内容 ", vbYesNo)
  5.     Set Myarr = Application.InputBox("请选择清空范围", "选择", Type:=8)
  6.     If Err <> 0 Then MsgBox "没有选择区域", 64, "温馨提示": Exit Sub
  7.     conf2 = InputBox("请输入确认密码", "密码输入框")
  8.     If conf2 <> "123" Then MsgBox "密码错误!": Exit Sub
  9.     ar = Split(Myarr.Address, "$")
  10.     Set rng = Myarr.Find("通讯录", lookat:=xlWhole, searchorder:=xlByRows)
  11.     st = rng.Address: r = rng.Row
  12.     Application.ScreenUpdating = False
  13.     brr = Myarr: rw = Myarr.Row: cc = Myarr.Column
  14.     Application.EnableEvents = False
  15.     Application.Calculation = xlCalculationManual
  16.     Do
  17.         c = rng.Column
  18.         For i = r To Val(ar(UBound(ar)))
  19.             If brr(i - rw + 1, c - cc + 1) <> "通讯录" And brr(i - rw + 1, c - cc + 1) <> "住址 电话 QQ" Then
  20.                 If rr Is Nothing Then Set rr = Cells(i, c) Else Set rr = Union(rr, Cells(i, c))
  21.                 If rr.Areas.Count = 255 Then rr.Font.Color = vbWhite: Set rr = Nothing
  22.             End If
  23.         Next
  24.         If Not rr Is Nothing Then rr.ClearContents
  25.         Set rng = Myarr.FindNext(rng)
  26.     Loop Until rng.Address = st Or rng.Row <> r
  27.     If Not rr Is Nothing Then rr.Font.Color = vbWhite
  28.     Application.Calculation = xlCalculationAutomatic
  29.     Application.EnableEvents = True
  30.     Application.ScreenUpdating = True
  31. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-10-4 02:37 , Processed in 0.030052 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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