- 打开 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