假设我单击 Excel 中的逗号格式按钮,有没有办法确定它应用于选择的确切样式?
或者,如果我将字体颜色设置为红色,尽管这很明显,但有没有办法在之前和之后对 Excel 的属性进行快照?
答案1
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2
Private Const VK_SNAPSHOT = &H2C
Private Const VK_MENU = &H12
Private Sub AltPrintScreen()
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, 0, 0
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End Sub
Sub TakeSnapshot()
Call AltPrintScreen
SendKeys "^v"
End Sub
答案2
是的,您只需要运行一个具有您想要查看的属性的宏:
Sub TellMeAboutIt()
Dim testRange
Set testRange = Range("A1")
Debug.Print testRange.Interior.Color
Debug.Print testRange.Font.Size
Debug.Print testRange.Font.Bold
Debug.Print testRange.Font.Italic
Debug.Print testRange.Row
Debug.Print testRange.Column
Debug.Print testRange.Style
End Sub
只需在执行某项操作之前和之后运行它即可。或者将其附加到事件。或者其他任何操作。查看Range 对象。
答案3
View
嗯,我对此感到惊讶,但您基本上可以在-> Macros
->下开始录制宏Record Macros
。
然后,宏将被转储到 Module 下的 alt+f11 下。以下是示例。
Sub Macro5()
'
' Macro5 Macro
'
'
Range("B9").Select
ActiveCell.FormulaR1C1 = "2"
Range("B10").Select
End Sub