excel单元格完成后的事件响应

caimps 2003-01-09 10:32:01
想在excel单元格完成后,进入下一个格时调用某个宏,该事件响应如何完成?
谢谢
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
clumsy 2003-01-11
  • 打赏
  • 举报
回复
应该是用 Worksheet_Change 事件吧? 照楼主的说法主要目的是在第5列中单元格的内容改变后进行检查. 下面的代码放在你所要检查的那个工作表里, 如果是要对工作簿中的所有工作表执行, 就将它放在工作簿里.

' 放在工作表中的定义
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 5 Then
' 在此加入你的检查代码
MsgBox "键入值非常棒!"
End If

End Sub

' 放在工作簿中的定义
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Target.Column = 5 Then
' 在此加入你的检查代码
MsgBox "键入值非常棒!"
End If

End Sub
caimps 2003-01-11
  • 打赏
  • 举报
回复
谢谢两位,但问题弱了点:
我希望每次输完第5列进入第六列时期自动用某个宏来检查第五列的输入,我该把上面这段程序放在哪里,何时启用

clumsy 2003-01-11
  • 打赏
  • 举报
回复
这个代码不是放在新插入的模块里, 是放在相应的工作表或工作簿里: 你在VBA中双击工作表或工作簿的标签, 就会出现一个代码窗口, 将那些代码贴在这里, 不需要运行任何宏, excel会在改动时自动调用的.
caimps 2003-01-11
  • 打赏
  • 举报
回复
我刚刚接触这一领域,不当之处请各位谅解。
我是这么做的:
在Excel的VB编辑器中插入一个新模块,写了下面这段代码:
-------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 5 Then
Call jc1
MsgBox "键入值非常棒!"
End If

End Sub

Public Sub jc1()
.....
End Sub
---------------------------------------------------
保存,回到excel界面准备运行宏,可是列表中只有jc1,没有别的,我试着改动第五列的值,也没有任何反应。

不只在运行前还要做那些设置工作?(其他诸如检索、拷贝粘贴等功能的宏都可以运行)
Jneu 2003-01-10
  • 打赏
  • 举报
回复
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call 宏1
End Sub

Sub 宏1()
...
End Sub
OFFICE之门 2003-01-10
  • 打赏
  • 举报
回复
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox ("tt")

End Sub
Excel下实现贪吃蛇小游戏 上次我们在Excel下实现了一个华容道式的小游戏,使用了Excel中的小部分属性和功能,不到100行语句就完成了。这次我们要把贪吃蛇搬到Excel中,就不那么容易了。 首先要解决游戏显示的问题。对我们来说,小游戏最好的平台是Excel的工作区,由于大小可调、颜色可填的单元格操作方便,我们完全可以把它们当像素来使用。于是我们的贪吃蛇游戏就有了以单元格为基础的像素形式的显示方式了。 其次是游戏的控制方法。在这里我摸索了好久,其中走了弯路不说,我最后的结论是在Excel中要实现按键事件的方法是引入窗体,然后在窗体中响应Keydown与Keypress事件。这样的话,既可以快速响应还可以根据情况修改对应按键。 最后是游戏的定时问题。所有的游戏事实上都是在一个时间大循环里面定时接收输入信息更新状态的程序,我们的小游戏都不例外。老实说,我写这个游戏大部分的思考时间就浪费在如何实现游戏定时这里。Excel的VBA中与定时有关的只有onTime函数,没有其他相关函数提供了,onTime函数可以实现某一事件在指定时间发生,但只能以秒为最小单位,对我们要在一秒内更新数十次信息的小游戏不适合,我们只能另找方法。用过VB的人都知道VB控件中有个定时控件,用它来实现游戏定时是最好的,但在Excel中却没有,难道我要把VB中的定时控件移植到VBA中?这也是个很值得研究的课题,但是我想到了另外的方法。VB的程序员都知道要想VB程序发挥大作用一定离不开调用系统的API,于是我查看了系统相关API的帮助,发现系统API中实现相应功能的有settimer与killtimer函数,具体定义和用法大家可以参考相关帮助,但从字面大家都已经可以知道它们就是我们要找的东西了。那么现在的问题就是如何在vba环境下调用系统API。心想微软称vba就是office中的vb,那么在vba中调用系统API应该也与在VB中的一样。一试,呵呵,果然非虚,这微软真不是盖的(后在msdn中发现ms office vba从2000版本开始支持调用系统API,大家可以拓展office应用了)。
由于excel软件能识别table格式的数据,所以asp只需要输出table格式的html代码,同时设置好contenttype,增加保存为附件的响应头即可将输出的html代码保存为xls文件。 asp导出excel文件源代码如下: 代码如下: <% Response.ContentType = “application/excel” Response.AddHeader “Content-Disposition”, “attachment;filename=””xxxx.xls””” %> <%while not rs.eof %>
你的excel单元格
ParamQuery Grid Pro是ParamQuery Grid的商业级版本,并且已成为台式机,移动设备和触摸设备的专业企业应用程序的首选工具。 它提供了最快的jQuery网格,treegrid,pivot网格和电子表格等最令人垂涎​​的功能,并且基于性能,卓越的UX和开放标准的原则构建。Pro的以下功能是对ParamQuery Grid基本功能的补充。 专业功能: 也可用于Angular(2 +),React和Vue新 从Excel导入(xlsx) 导出到Excel(xlsx),Csv,HTML,Json Excel公式支持 从剪贴板复制粘贴 范围/行分组汇总 合并的单元格具有无限的行跨度和列跨度 延迟加载,聚集等的树状网格 在网格,树网格,数据透视网格和自定义组件之间拖放新 正文和标题单元格上的上下文菜单新 带有拖放工具的枢轴网格面板GUI 打字稿支持 动画制作 多列排序 自动和固定行高的无限行和列 冻结行和列,如Excel 隐藏的行和列 过滤器API和标头过滤器行 列印 复选框列和选择 单元格验证和警告 行编辑,批量编辑和自动保存 原子事务(提交和回滚) 网格/子网格的嵌套 行的细节 滑动支持桌面和触摸设备 流畅和响应式布局 引导程序和自定义主题 ASP.NET(MVC)/ MSSQL中的服务器端示例 PHP5 / MySQL中的服务器端示例 Java / MySQL中的服务器端示例 基本特点: 本地和远程分页,排序和过滤 完全定制的多个行和单元格选择 隐藏或显示列 可调整大小的列和网格 列分组 行摘要 CRUD(创建,读取,更新,删除) 国际化和本地化 显示本地或远程来源的任何数据格式,例如html,array,xml,json等 虚拟和无限滚动行 内联单元格编辑 自定义单元格渲染和编辑 主题滚轮准备就绪,带有24个可立即使用的主题 全键盘导航 所有主要浏览器IE(9 +),Firefox,Chrome,Opera等的外观和功能都一致

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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