ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

带你入门VBA,第四讲(如何控制关于工作薄与工作表)

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-18 08:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用lpdcd在2004-10-18 8:22:00的发言:

举个例子:填充非空单元格颜色

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Value <> "" Then Target.Interior.ColorIndex = 3 End If End Sub

上面是一个事件程序,当工作表内容改变时就运行Target.Interior.ColorIndex = 3

兰老师:为什么在我的附件中当工作表内容改变时不能运行Target.interior.Colorlndex = 3 呢?

你把工作薄事件放在工作表事件中当然不行了,应该放在THISWORKBOOK中,以后在输入事年程序的时候程序名不要手工输入,而是通过选取,就不会出现这样的错误了,如本例你只想让SHEET1中自动填充,就换成工作表事件。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Value <> "" Then Target.Interior.ColorIndex = 3 End If End Sub

TA的精华主题

TA的得分主题

发表于 2004-10-18 13:04 | 显示全部楼层

哦!明白了:(ByVal Sh As Object, ByVal Target As Range)是工作簿事件;

(ByVal Target As Range)是工作表事件。

是这样理解吗?

TA的精华主题

TA的得分主题

发表于 2004-10-18 15:00 | 显示全部楼层

ActiveWorkbook.SaveAs Filename:="c:\" & i & ".xls"???

ActiveWorkbook.SaveAs Filename:="c:\" & i & ".xls" 上面这句是啥意思??

TA的精华主题

TA的得分主题

发表于 2004-10-18 15:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

For i = 8 To 10 'for...next 是连续建立新工作簿 Workbooks.Add '新建工作簿 Next

兰老师:按我的理解上述用语句新建的工作簿的名字应分别为:8.xls,9.xls和10.xls。但每次新建的工作簿名都向后顺延。即用For i = 8 To 10 所新建的工作簿的名字分别为:11.xls,12.xls和13.xls。为什么不一致?

谢谢!!

TA的精华主题

TA的得分主题

发表于 2004-10-18 15:25 | 显示全部楼层

应该不会错吧

private sub 按钮1_单击()

for a=8 to 10

workbooks.add

ativeworkbook.saveas filename:="c:\"& a &".xls"

next a

end sub

TA的精华主题

TA的得分主题

发表于 2004-10-20 09:43 | 显示全部楼层
以下是引用兰色幻想在2004-10-14 11:57:00的发言:

用程序为一个文件加个密码:

Workbooks.Open "c:\12.xls" Workbooks("12.xls").SaveAs Filename:="C:\12.xls", Password:="123" Workbooks("12.xls").Close

请教老师:

workbooks.****与activeworkbook.****的区别。

请赐教。

谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-20 10:03 | 显示全部楼层
以下是引用wangyan在2004-10-18 15:00:00的发言: ActiveWorkbook.SaveAs Filename:="c:\" & i & ".xls" 上面这句是啥意思??
就是把当前工作薄保存到C盘,然后根据i的值命名文件

TA的精华主题

TA的得分主题

 楼主| 发表于 2004-10-20 10:06 | 显示全部楼层
以下是引用yyh740225在2004-10-20 9:43:00的发言:

请教老师:

workbooks.****与activeworkbook.****的区别。

请赐教。

谢谢

workbooks是工作薄集合,指当前打开的所有工作薄,workbooks("工作薄名称")是特指工薄,activeworkbook是指当前选定的工薄即活动工作薄

TA的精华主题

TA的得分主题

发表于 2004-10-20 23:57 | 显示全部楼层

老师请继续!

excel我的家

[此贴子已经被作者于2004-10-20 23:57:23编辑过]

TA的精华主题

TA的得分主题

发表于 2004-10-21 16:48 | 显示全部楼层
还是继续布置作业吧,应该熟悉、巩固一下,老师还是慢点,等等大家,我觉得很多人都需要这样
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-25 14:26 , Processed in 0.035037 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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