ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

不懂VBA也编程

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-4-2 21:40 | 显示全部楼层

山版,怎样永远保持背景色不变?

本帖已被收录到知识树中,索引项:数据类型和基本语句
山版,向你学了不少,特别是“在Excel中玩转邮件合并”一文让我在工作中改进了一个模型,我以前是用WORD来邮件合并的,碰到的问题是模型被人复制到别的电脑,就又要寻找数据源,且容易出错读不出数据;而用了Excel玩转邮件合并后,因在同一工作簿中,就不存在这个问题了,让我很受用,谢谢你了!!!
但在我的模型中,我还有一个问题没解决,要请教大师。比如在数据区(需要录入数据)A3:E100,我用“格式”把其背景设为绿色(为了醒目、美观,其它有函数公式的锁定单元格则设为“浅红色”),问题是:如果有人在别的工作表(背景不是绿色)复制数据进行粘贴,则常会改了背景的绿色,除非用“选择性粘贴—数值”,但这样会使人感到不顺手。请问山版,如何设定才能使这个区域或这些单元格永远保持设定背景绿色呢?多谢!!!

右键点击工作表标签,选择“查看代码”,将下面的代码粘贴到光标处:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a3:e100")) Is Nothing Then Exit Sub
Range("a3:e100").Interior.ColorIndex = 10
End Sub

TA的精华主题

TA的得分主题

发表于 2009-4-6 20:39 | 显示全部楼层

太棒了!!!

山版,您太棒了,轻而易举就解决了我的难题,您真是我的老师!
冒昧又问一下,我的表格是先设定了边框的,如果在没边框的表格中直接粘贴来数据,那就会破坏原有表格的边框,请教又该怎样设定,永远不使表格边框破坏了呢?
多谢!!!

代码增加一行:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("a3:e100")) Is Nothing Then Exit Sub
Range("a3:e100").Interior.ColorIndex = 10
Range("a3:e100").Borders.LineStyle = 1
End Sub

TA的精华主题

TA的得分主题

发表于 2009-4-6 22:01 | 显示全部楼层
向楼主致敬,留个脚印,改天继续学

TA的精华主题

TA的得分主题

发表于 2009-4-7 10:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
跟着学习了!

TA的精华主题

TA的得分主题

发表于 2009-4-8 20:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

紧急求救!!!

山版,还要麻烦您!在349、350楼得到您的帮助后,我用了后,确实效果很好。但是用了代码
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b2:q1501")) Is Nothing Then Exit Sub
Range("b2:q1501").Interior.ColorIndex = 8
Range("b2:q1501").Borders.LineStyle = 1
End Sub
在我的模型“信用评定数据表”工作表后,代码不起作用,在没有颜色、没有边框的单元格复制过来数据后,工作表B2:Q1501照样被破坏,而把代码用在新的工作簿时,却能起作用,不知什么原因,百思不得其解,只有又来请教了,谢谢!!!


出错是工作表被保护的原因,代码修改如下,假如密码为123

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b2:q1501")) Is Nothing Then Exit Sub
'撤销工作表保护
me.Unprotect ("123")
Range("b2:q1501").Interior.ColorIndex = 8
Range("b2:q1501").Borders.LineStyle = 1
'保护工作表
me.Protect ("123")
End Sub

[ 本帖最后由 xlsahz 于 2009-4-11 16:29 编辑 ]

信用户信用评定模型.rar

158.67 KB, 下载次数: 102

TA的精华主题

TA的得分主题

发表于 2009-4-8 20:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-8 22:06 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-10 14:57 | 显示全部楼层
来到EXCELHOME论坛,得到热心人的帮助,学了不少东西。也经常看到VBA,带代码什么的,我也想学,希望能更好的应用到工作中,可是不知怎么学,今天看到这帖子,决定就跟斑竹学了。

TA的精华主题

TA的得分主题

发表于 2009-4-10 14:59 | 显示全部楼层

山菊花师傅

山菊花师傅,怎样把上面的宏在Sub Macro1()    里用? 谢了!

新建 WinRAR 压缩文件.rar

7.41 KB, 下载次数: 29

TA的精华主题

TA的得分主题

发表于 2009-4-10 23:16 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 11:31 , Processed in 0.039194 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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