VBA中textbox添加右键菜单功能!

我在excel中做了一个窗体,里面添加了textbox控件,但是在输入的时候比如我想复制粘贴,点击右键没有反应,按ctrl+c等快捷键好用,我现在想在textbox里面添加单击右键弹出菜单的功能,方便复制粘贴剪切等的操作,请问代码应该怎么写?放在哪里?求高人,在线等!

给你看一下  蓝色幻想的一个程序事例  ,代码放窗体的加载程序里面

Sub 添加快捷菜单()
 Dim mypup As CommandBar
 Dim com As CommandBarButton
 Dim x
 删除命令
 Set mypup = Application.CommandBars.Add(Name:="ABC", Position:=msoBarPopup)
   For x = 1 To 4
    Set com = mypup.Controls.Add
     com.Caption = Choose(x, "兰色幻想", "小妖", "小佩", "展翅")
     '这4个是加的按钮的名字, 可以改成你自己的, 比如复制粘贴等
     
     com.FaceId = 17 + x
     com.OnAction = "A"
     '这句是指定的宏的名字, 可以改成你自己的宏, 比如复制 ,粘贴功能宏
   Next x
End Sub

Sub 删除命令()
  Application.CommandBars("ABC").Delete
End Sub

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-12-13
首先,添加一个模块,粘贴下面的代码:
Sub 添加()

Dim aa As CommandBar
Dim bb As CommandBarControl
On Error Resume Next
CommandBars("abc").Delete
On Error GoTo 0
Set aa = CommandBars.Add(Name:="abc", Position:=msoBarPopup, Temporary:=True)
With aa
Set bb = .Controls.Add(Type:=msoControlButton)
With bb
.Caption = "复 制"
.OnAction = "fuzhi"
End With
Set bb = .Controls.Add(Type:=msoControlButton)
With bb
.Caption = "剪 切"
.OnAction = "jianqie"
End With
Set bb = .Controls.Add(Type:=msoControlButton)
With bb
.Caption = "粘 贴"
.OnAction = "zhantie"
End With
Set bb = .Controls.Add(Type:=msoControlButton)
With bb
.Caption = "清 除"
.OnAction = "qingchu"
End With

End With
aa.ShowPopup
End Sub
Private Sub fuzhi()
Application.SendKeys "^c", True
End Sub
Private Sub jianqie()
Application.SendKeys "^x", True
End Sub
Private Sub zhantie()
Application.SendKeys "^v", True
End Sub
Private Sub qingchu()
Application.SendKeys "{del}", True
End Sub
然后添加textbox1的代码
Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = xlSecondaryButton Then
添加
CommandBars("abc").Delete
End If
End Sub
第2个回答  2014-04-12
我也想知道,我用
Application.CommandBars("Control Toolbox").ShowPopup X, Y
提示错误。有没有人知道,help一下。

VBA中textbox添加右键菜单功能!
给你看一下 蓝色幻想的一个程序事例 ,代码放窗体的加载程序里面Sub 添加快捷菜单() Dim mypup As CommandBar Dim com As CommandBarButton Dim x 删除命令 Set mypup = Application.CommandBars.Add(Name:="ABC", Position:=msoBarPopup) For x = 1 To 4 Set com = mypup.Controls...

Excel 请问,VBA的用户窗体,有办法加鼠标右键菜单吗
当然可以。譬如,在窗体的文本框添加[复制]右键菜单,代码如下:Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Button = 2 Then With Application.CommandBars.Add("Dicky", 5) With .Controls.Add(1)...

请教,使用Excel VBA编程,如何在文本框中具有右键功能?然后可以复制\/粘贴...
End Sub 然后添加textbox1的代码 Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)If Button = xlSecondaryButton Then 添加 CommandBars("abc").Delete End If End Sub ...

在VBA中,为什么我的鼠标右键在TextBox中无法弹出
第1行代码,在模块级别中声明变量ActiveTB是用来对应窗体中的文本框所触发的所有事件的变量。CreateShortCutMenu过程用来创建标题为“ShortCut”的右键快捷菜单,并添加4个菜单项。关于自定义右键快捷菜单请参阅技巧86 。001 Public Sub ShowPopupMenu(txtCtr As MSForms.TextBox)002 Dim Action As V...

VBA学习笔记58:选项按钮、复选框、框架、滚动条、微调、图像与多页...
一、控件简介 本节介绍的控件包括选项按钮、复选框、框架、滚动条、微调、图像与多页控件,这些控件在工具箱中可直接找到或通过右键菜单添加。它们可以同时选取。以下将详细讲解这些控件的功能与使用方法。二、选项按钮 选项按钮在一个框架内只能选择一个选项,不同框架间互不影响。三、复选框 复选框...

EXCEL中用VBA编的一个窗体,如何通过鼠标点击与相应的单元格互动_百度知 ...
看Excel的VBA帮助,Textbox控件有个ControlSource属性,指定为你想要关联的单元格,这样,改变Textbox的内容,单元格内容随即改变,反之, 改变单元格值,文本控件内容也会随之而改变。

vba的窗体中如何添加菜单?
在Windows95、Windows98或NT的风格中,有按动鼠标器右键弹出下拉菜单的操作,在VB执行环境下,有一些控件本身具有弹下拉菜单的功能,如TexTbox控件等,但大多数编辑类控件以及窗体本身却没有此功能,要在窗口中任意位置实现PopUpMenu(弹出式菜单),可借助VB的菜单工具来实现。 首先,打开VB的“工具”菜单条,利用“菜单编辑器...

excel中vba中“无法设置cancel属性。找不到成员”
你要怎样进行下一步操作 ?你的这个textbox1 在什么地方?想删除 textbox1 中输入的内容?那么最后一行改成 Textbox1.value=“”

Excel VBA中userform的Textbox输入的文本只能显示在一行,我想输入长文 ...
选择TEXTBOX 右键 属性 MultiLine 设置为TRUE (自动换行)ScrollBoars 设置为2 (垂直滚动条)

...中如何实现鼠标所到行的信息在控件按钮的文本框显示
用VBA,具体步骤如下:假设从左到右的文本框名称依次为:TextBox1、TextBox2、TextBox3。ALT+F11,对象框选择:Worksheet,过程框选择:SelectionChange。输入代码如下:Private Sub Worksheet_SelectionChange(ByVal Target As Range) TextBox1.Value = Range("B" & Target.Row()) TextBox2.Va...

相似回答