VBA中是否有方法,在excel中我复制单元格的值会触发我的函数?
或者为此做任何解决方法?
或者我可以阅读按键并听取Ctrl + C吗?
或者VBA可以读取复制文本的内容吗?
原因是:我将一些条目从Excel工作表复制到另一个程序,我想自动添加例如灰色字体颜色到已经复制的所有条目。
答案 0 :(得分:3)
为宏指定快捷键。
例如,如果您的宏是这样的:
Sub CopyAndMarkAsCopied()
Dim r As Range
Set r = Selection
With r
.Copy
.Font.Color = RGB(100, 100, 100) 'dark grey font
.Interior.Color = RGB(200, 200, 200) 'light gray background
'whatever else
End With
End Sub
在Excel 2010中,在Developer>中查看宏。宏(或键盘快捷键 Alt - F8 )。在早期版本的Excel中,菜单略有不同,但键盘快捷键的工作方式相同。
在列表中选择您的宏,然后单击选项... 。在此对话框中,您可以为宏指定快捷键。它可以是:
在这个例子中,我选择 Ctrl - Shift - C (请注意下面屏幕截图中的大写C
)。
我可能不会屏蔽我通常使用的默认键盘快捷键,例如 Ctrl - C ,但如果这是你的话,你可以自由地这样做。
按 Ctrl - Shift - C 时的操作示例:
答案 1 :(得分:1)
您可以使用 OnKey 语句将宏指定给 Cntrl + c 。
请参阅:
http://msdn.microsoft.com/en-us/library/office/ff197461(v=office.15).aspx
答案 2 :(得分:0)
以下是先前给出的OnKey语句建议的示例:
Application.OnKey" {UP}"," PressUp" Application.OnKey" {DOWN}"," PressDown"
" PressUp"和#34; PressDown"是应该运行的潜艇的名称。我会犹豫是否制作一个快捷方式来运行已经分配了预先存在的宏的宏。如果您在按ctrl + c时指定要运行的宏,它将覆盖它已有的复制功能。