
在自动添加时可以修改按钮属性;
onAction可以带参数调用,来调定是哪个按钮事件,比如:
OnAction = "'GoToSheet """ & Name & """'" '带字符串参数
注意:参数一定要是字符型,Name只引用初始时的值,若使用时再改变无效。
首先 找到 找到外部程序的主窗口的句柄 然后再查找其子窗口父窗口用findwindow就可以 子窗口要指定要查找窗口的classwindows 中每一个窗口都有一个类的比如记事本的文本框 类名叫edit VB的textbox 类名叫ThunderRT6TextBox等等
表单控件
Sub 显示行号()
MsgBox ActiveSheetShapes("按钮 1")BottomRightCellRow
End Sub
存放代码参考
Excel数据如何快速排列
ActiveX控件
Private Sub CommandButton1_Click()
MsgBox Shapes("CommandButton1")BottomRightCellRow
End Sub
Excel工作表被修改后自动升序排列
代码放在
在 VBA 中,可以使用 UserForm 来创建一个自定义的用户界面,并在其中添加按钮来执行特定的 *** 作。下面是将模板导出为按钮的一般步骤:1 打开 VBA 编辑器,选择“插入”菜单下的“用户窗体”选项,创建一个新的 UserForm。
2 在 UserForm 上添加一个按钮控件,可以使用“工具箱”中的“按钮”工具来添加。
3 双击按钮控件,进入按钮的“Click”事件处理程序。
4 在按钮的“Click”事件处理程序中,编写代码来执行所需的 *** 作。可以使用模板中的代码,或者编写新的代码。
5 在代码编写完成后,保存 UserForm 并关闭 VBA 编辑器。
6 在 Excel 工作表中,右键单击任意位置,选择“插入”菜单下的“按钮”选项,创建一个新的按钮。
7 右键单击新创建的按钮,选择“编辑”选项,进入按钮的属性设置。
8 在按钮的属性设置中,选择“宏”选项卡,然后选择刚才创建的 UserForm 中的按钮事件处理程序。
9 点击“确定”按钮,保存按钮设置。
现在,当您单击新创建的按钮时,将会执行 UserForm 中的按钮事件处理程序,从而执行所需的 *** 作。
有宏按钮 Button 1 和 控件窗体按钮 CommandButton1 两种。
宏按钮
图形类别名:msoFormControl
图形类别:Type = 8
默认名称:Button 1
更改按钮名称语句: AlternativeText = "按钮新名称"
宏调用属性: OnAction "宏名"
宏指定方法: 按钮右键菜单中指定宏
可以任意指定模块或代码页中已有的宏名
控件按钮
图形类别名:msoOLEControlObject
图形类别:Type = 12
默认名称:CommandButton1
按钮名称:默认=CommandButton1
更改按钮名称语句: CommandButton1Caption = "按钮新名称"
宏调用属性: OnAction "" (此属性不用)
宏指定方法:
在代码页的
Private Sub CommandButton1_Click()
End Sub
中写入或编辑代码、
无法在控件菜单中指定模块中已有的宏
但你当然可以这么来:
Private Sub CommandButton1_Click()
Call 宏名
End Sub
可以使用SendKeys方法来按下F9按键。使用方法如下:
Private Sub Worksheet_Change(ByVal Target As Range)SendKeys "{F9}"
End Sub
SendKeys 方法
参阅参阅参阅参阅
将击键发送给活动应用程序。
expressionSendKeys(Keys, Wait)
expression 可选。该表达式返回一个 Application 对象。
Keys Variant
类型,必需。要发送的键或者组合键,以文本方式表示。
Wait Variant 类型,可选。如果该值为 True,则 Microsoft Excel 等待击键处理完后再将控制返回到宏;如果该值为 False(或者省略该参数),则宏继续执行而不等待击键处理完毕。
说明
本方法将击键放到键盘缓冲区。某些情况下,在调用要使用击键的方法之前必须先调用此方法。例如,若要往对话框中发送密码,则必须在显示对话框之前调用 SendKeys 方法。
Keys 参数可指定任何单个键或与 Alt、Ctrl 或 Shift
的组合键(或者这些键的组合)。每个键可用一个或多个字符表示。例如,"a" 表示字符 a,或者
"{ENTER}" 表示 Enter。
若要指定在按相应键时不会显示的字符(例如,Enter 或 Tab),请使用下表所列的代码来表示相应的键。表中的每个代码表示键盘上的一个键。
键 代码
Backspace {BACKSPACE} or {BS}
Break {BREAK}
Caps Lock {CAPSLOCK}
Clear {CLEAR}
Delete 或 Del {DELETE} 或 {DEL}
End {END}
Enter ~(波形符)
Enter(数字小键盘) {ENTER}
Esc {ESCAPE} 或 {ESC}
F1 到 F15 {F1} 到 {F15}
Help {HELP}
Home {HOME}
Ins {INSERT}
Num Lock {NUMLOCK}
Page Down {PGDN}
Page Up {PGUP}
Return {RETURN}
Scroll Lock {SCROLLLOCK}
Tab {TAB}
向上键 {UP}
向下键 {DOWN}
向右键 {RIGHT}
向左键 {LEFT}
也可指定与 Shift 和/或 Ctrl 和/或 Alt 组合使用的键。要指定与其他键组合使用的键,请使用下表。
要组合的键
在键代码之前添加
Shift +(加号)
Ctrl ^(乘幂)
Alt %(百分号)
示例
本示例使用 SendKeys 方法退出 Microsoft Excel。
ApplicationSendKeys("%fx")
你好,让我们一起来看个例子,比如 Excel 的撤销按钮(实际上是一个 msoControlSplitDropdown 类型的按钮,该按钮的 Id 为 128)有如下三个列表项:
可以通过下面的参考代码把这三个列表项全部打印到立即窗口(Ctrl+G):
Public Sub PrintUndoText()Dim lngIndex As Long
Dim cbcbUndo As CommandBarComboBox
Set cbcbUndo = CommandBarsFindControl(, 128)
For lngIndex = 1 To cbcbUndoListCount
DebugPrint cbcbUndoList(lngIndex)
Next
Set cbcbUndo = Nothing
End Sub
执行效果如下:
如有问题,请提出!
以上就是关于在excel VBA中,要获取当前button的位置,可以把语句写到类模块里面吗如果可以,该怎么写呢全部的内容,包括:在excel VBA中,要获取当前button的位置,可以把语句写到类模块里面吗如果可以,该怎么写呢、在vba中,已知主程序的句柄,如何获取标题.控件等等等...、VBA如何获取宏按钮的所在的行号或列号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)