另存为文件名,捕获Caps Lock事件

riken_mail 2010-10-28 10:30:09
2个问题比较棘手

①另存为保存时的文件名:
比如abc.xls的文件,A1单元格的值为def,点另存为按钮后,保存框中默认的文件名为def

②Caps Lock事件:大小写自动切换
A1:abcd
A2:efgh
点了Caps Lock后,A1,A2的内容自动变为大写(ABCD,EFGH)
再点Caps Lock后,自动变为小写


在线等,急急急!!!
...全文
117 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
riken_mail 2010-11-26
  • 打赏
  • 举报
回复
worksheet_change只能对一个单元格的移动进行check,
如果粘贴数据到多个单元格,如果对多个单元格进行check呢???

100分呢,不想无满意结贴啊。。。
sunsoncheng 2010-11-26
  • 打赏
  • 举报
回复
SET RNG=UNION(....)这里是要检查的单元格的集合

然后 FOR EACH

NEXT

再就是放在那里CHECK?SELECTCHANG?
riken_mail 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jhone99 的回复:]
按B1一样写

你B1是怎么写的?
[/Quote]

worksheet_change事件里,
if cells(A1) = "abc" then
  cells(B1) = "请输入数字"
endif

这样的话只能对一个单元格进行check

但把A1的内容粘贴到选中的多个单元格中(A2,A3,A4,A5),这个check只能对A2起作用,A3,A4,A5无法check到,也就是说worksheet_change这个事件只能对一个单元格操作,

困惑中。。。

riken_mail 2010-10-28
  • 打赏
  • 举报
回复
可否提供具体点的代码啊
孤独剑_LPZ 2010-10-28
  • 打赏
  • 举报
回复
第一个问题是新建excel对象,填充值后另存为的代码
第二个问题循环读取excel的单元格,将内容转换为大写,关键是用vba获取键盘事件
riken_mail 2010-10-28
  • 打赏
  • 举报
回复
ex.ActiveWorkbook.SaveAs("d:\" & sh.Cells(1,1) & ".xls")
这段代码应该写在什么函数里呢?

我的第二个问题就是:
按下大写键后,我指定范围内的内容自动变为大写(abc->ABC)
再按一下,自动变回小写来
孤独剑_LPZ 2010-10-28
  • 打赏
  • 举报
回复
1.
ex.ActiveWorkbook.SaveAs("d:\" & sh.Cells(1,1) & ".xls")
2.
没看明白
jhone99 2010-10-28
  • 打赏
  • 举报
回复
按B1一样写

你B1是怎么写的?
riken_mail 2010-10-28
  • 打赏
  • 举报
回复
上面的写错了,请无视。

需求: 对A列单元格输入的内容进行数字check,比如A1输入了'abc'后,移开光标后,在B1显示错误信息,
我的处理: 把代码都放在了worksheet_change事件里,需求可以实现
目前遇到的困难:复制A1('abc'),选中A2,A3,A4,A5,粘贴,问题在这:只有B2显示了错误信息,B3,B4,B5没有错误信息,
riken_mail 2010-10-28
  • 打赏
  • 举报
回复
因为需求方面不需要了,这2个功能废止了。不过又有一个新的问题

需求: 对A列单元格输入的内容进行数字check,比如A1输入了'abc'后,移开光标后,在A2显示错误信息,
我的处理: 把代码都放在了worksheet_change事件里,需求可以实现
目前遇到的困难:复制A1('abc'),选中B1,C1,D1,E1,粘贴,问题在这:只有B2显示了错误信息,C,D,E没有错误信息,


2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧