excel VBA方式制作格式刷快捷键

  • 打开 Excel,按 Alt+F11 打开 VBA 编辑器;
  • 左侧双击 ThisWorkbook,粘贴以下代码;
  • 按 Ctrl+S 保存文件(需另存为 .xlsm 启用宏的格式)。
Option Explicit
Private m_FormatRange As Range ' 存储复制格式的源区域

' ========== 核心功能:复制格式(绑定快捷键用) ==========
Sub CopyFormat()
    On Error Resume Next
    ' 捕获选中的单元格区域
    Set m_FormatRange = Selection
    If Err.Number <> 0 Then
        MsgBox "请先选中要复制格式的单元格!", vbExclamation, "提示"
        Exit Sub
    End If
    On Error GoTo 0
    
    ' 提示格式已复制
    Application.StatusBar = "✅ 已复制 [" & m_FormatRange.Address & "] 的格式,按快捷键应用"
End Sub

' ========== 核心功能:应用格式(绑定快捷键用) ==========
Sub ApplyFormat()
    On Error Resume Next
    ' 检查是否已复制格式
    If m_FormatRange Is Nothing Then
        MsgBox "请先复制格式(Ctrl+Shift+F)!", vbExclamation, "提示"
        Exit Sub
    End If
    
    ' 应用格式(复制源区域格式到目标区域)
    m_FormatRange.Copy
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False ' 清除复制状态
    
    Application.StatusBar = "✅ 已将 [" & m_FormatRange.Address & "] 的格式应用到 [" & Selection.Address & "]"
    On Error GoTo 0
End Sub

' ========== 自动绑定快捷键(打开文件时执行) ==========
Private Sub Workbook_Open()
    ' 绑定:Ctrl+Shift+F = 复制格式;Ctrl+Shift+G = 应用格式
    ' Key:=70 对应F键,71对应G键,可自行修改(见文末键值表)
    Application.OnKey "^+F", "CopyFormat"   ' ^=Ctrl,+=Shift,F=F键
    Application.OnKey "^+G", "ApplyFormat"  ' Ctrl+Shift+G 应用格式
End Sub

' ========== 关闭文件时清除快捷键绑定 ==========
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ' 恢复快捷键默认功能
    Application.OnKey "^+F"
    Application.OnKey "^+G"
    Application.StatusBar = False ' 清空状态栏提示
End Sub
posted @ 2025-12-11 16:40  太平东路  阅读(3)  评论(0)    收藏  举报