Excel 常用快捷键与对应 VBA 方法/属性清单

功能描述快捷键VBA 对应方法/属性 (核心逻辑)说明
导航 (类似 End 方向键)这些是 End 键行为的直接对应
向下到连续区域末尾Ctrl + ↓ActiveCell.End(xlDown)从当前单元格向下,遇到第一个空单元格停止。
向上到连续区域开头Ctrl + ↑ActiveCell.End(xlUp)从当前单元格向上,遇到第一个空单元格停止。
向右到连续区域末尾Ctrl + →ActiveCell.End(xlToRight)从当前单元格向右,遇到第一个空单元格停止。
向左到连续区域开头Ctrl + ←ActiveCell.End(xlToLeft)从当前单元格向左,遇到第一个空单元格停止。
导航 (其他)
到工作表开头 (A1)Ctrl + HomeRange("A1").Select
Application.Goto Reference:=Range("A1")
到工作表最后一个使用单元格Ctrl + EndActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Select定位“上次编辑过的”区域右下角,可能包含空行/列。
到行首 (A列)HomeRange("A" & ActiveCell.Row).Select
ActiveCell.EntireRow.Cells(1).Select
选择
选择到连续区域末尾 (向下)Ctrl + Shift + ↓Range(ActiveCell, ActiveCell.End(xlDown)).Select基于 End(xlDown) 的选择
选择到连续区域末尾 (向上)Ctrl + Shift + ↑Range(ActiveCell, ActiveCell.End(xlUp)).Select基于 End(xlUp) 的选择
选择到连续区域末尾 (向右)Ctrl + Shift + →Range(ActiveCell, ActiveCell.End(xlToRight)).Select基于 End(xlToRight) 的选择
选择到连续区域末尾 (向左)Ctrl + Shift + ←Range(ActiveCell, ActiveCell.End(xlToLeft)).Select基于 End(xlToLeft) 的选择
选择整个工作表Ctrl + A (按两次)Cells.Select按一次 Ctrl+A 选择当前区域,对应 CurrentRegion.SelectActiveCell.CurrentRegion.Select
选择当前区域Ctrl + A (按一次)ActiveCell.CurrentRegion.Select选择被空行/列包围的数据块。
选择整行Shift + SpaceActiveCell.EntireRow.Select
选择整列Ctrl + SpaceActiveCell.EntireColumn.Select
编辑
复制Ctrl + CSelection.Copy
剪切Ctrl + XSelection.Cut
粘贴Ctrl + VActiveSheet.Paste Destination:=TargetRange
TargetRange.PasteSpecial
VBA 粘贴通常需要先指定目标位置 (Destination) 或使用 PasteSpecial
粘贴值Alt + E, S, VSelection.PasteSpecial Paste:=xlPasteValues在 VBA 中,更常用的是直接赋值:TargetRange.Value = SourceRange.Value
撤销Ctrl + ZApplication.UndoVBA 中谨慎使用,可能不稳定。
恢复Ctrl + YApplication.RedoVBA 中谨慎使用。
向下填充Ctrl + DSelection.FillDown填充上方单元格的内容/公式。
向右填充Ctrl + RSelection.FillRight填充左侧单元格的内容/公式。
输入数组公式Ctrl + Shift + Enter无需特别方法,正常输入公式并用 {} 包围,或使用 Range.FormulaArray 属性设置。VBA 中通常直接设置 Range.FormulaArray 属性。
单元格/行/列操作
插入单元格/行/列Ctrl + Shift + +Selection.Insert Shift:=xlDown (或 xlToRight)
Rows(ActiveCell.Row).Insert
Columns(ActiveCell.Column).Insert
取决于当前选择。
删除单元格/行/列Ctrl + -Selection.Delete Shift:=xlUp (或 xlToLeft)
ActiveCell.EntireRow.Delete
ActiveCell.EntireColumn.Delete
取决于当前选择。
隐藏行Ctrl + 9Selection.EntireRow.Hidden = True
取消隐藏行Ctrl + Shift + 9Selection.EntireRow.Hidden = False
隐藏列Ctrl + 0Selection.EntireColumn.Hidden = True
取消隐藏列Ctrl + Shift + 0Selection.EntireColumn.Hidden = False
格式设置
打开单元格格式对话框Ctrl + 1无直接单方法。需分别设置 Range.NumberFormat, Range.Font, Range.Borders, Range.Interior 等属性。
应用/移除加粗Ctrl + BSelection.Font.Bold = Not Selection.Font.Bold切换加粗状态。
应用/移除斜体Ctrl + ISelection.Font.Italic = Not Selection.Font.Italic切换斜体状态。
应用/移除下划线Ctrl + USelection.Font.Underline = xlUnderlineStyleSingle / xlUnderlineStyleNone
公式
插入函数Shift + F3Application.Dialogs(xlDialogInsertFunction).Show
切换显示公式/值Ctrl +ActiveWindow.DisplayFormulas = Not ActiveWindow.DisplayFormulas重音符键,通常在 Tab 键上方。
绝对/相对引用切换 (编辑模式)F4无直接单方法。VBA 中公式字符串需手动构造 $在 VBA 中编写公式字符串时,需要直接包含 $ 符号来表示绝对引用。
其他常用
查找Ctrl + FApplication.Find(What:=...)
Range.Find(What:=...)
替换Ctrl + HApplication.Replace(What:=..., Replacement:=...)
Range.Replace(What:=..., Replacement:=...)
新建工作簿Ctrl + NWorkbooks.Add
打开工作簿Ctrl + OApplication.Dialogs(xlDialogOpen).Show
Workbooks.Open(Filename:=...)
保存工作簿Ctrl + SActiveWorkbook.Save
ActiveWorkbook.SaveAs(Filename:=...)
打印Ctrl + PActiveSheet.PrintOut
ActiveWindow.SelectedSheets.PrintOut
关闭窗口/工作簿Ctrl + WActiveWorkbook.Close SaveChanges:=True/False
ActiveWindow.Close
关闭活动窗口或工作簿。
快速填充 (Excel 2013+)Ctrl + ERange("TargetRange").TextToColumns ... 或复杂逻辑
Range("TargetRange").FlashFill (较新版本)
VBA 模拟快速填充较复杂,通常使用 TextToColumns 或较新的 FlashFill 方法,但不如手动操作智能和直接。

重要说明:

  1. End 方法 (End(xlDown) 等): 这是最直接对应 Ctrl+方向键 导航逻辑的 VBA 方法。它模拟按下 End 键后再按方向键的行为。关键点:

    • 它从 ActiveCell (或指定的 Range) 开始
    • 它沿着指定方向 (xlDown, xlUp, xlToRight, xlToLeft) 移动
    • 停止在遇到第一个空单元格工作表边界
    • 返回停止位置的那个单元格(一个 Range 对象)。
    • 例如 ActiveCell.End(xlDown).Select 精确模拟了 Ctrl+↓ 并选择目标单元格。
  2. 选择 (Ctrl+Shift+方向键): VBA 中通过组合起点 (ActiveCell) 和终点 (ActiveCell.End(...)) 来构造一个范围 (Range(StartCell, EndCell)),然后对这个范围执行 .Select.Copy 等操作。

  3. CurrentRegion: 对应按一次 Ctrl+A。它选择被空行和空列完全包围的连续数据区域。比 End 方法选择的范围更大、更结构化。

  4. 粘贴: VBA 中的粘贴 (PastePasteSpecial) 通常需要明确指定目标位置 (Destination 参数),或者在执行 Copy 后直接对目标范围使用 PasteSpecial。直接赋值 (Target.Value = Source.Value) 是复制值最高效的方式。

  5. 格式设置: VBA 没有单个命令对应 Ctrl+1。你需要通过设置 Range 对象的各种属性 (NumberFormat, Font, Interior.Color, Borders 等) 来达到相同的效果。

  6. 绝对/相对引用 (F4): VBA 在构造公式字符串时,需要直接写出 $A$1 (绝对), A$1 (混合), A1 (相对) 的形式,没有切换功能。

  7. 避免 .Select: 在编写高效 VBA 代码时,应尽量避免频繁使用 .SelectActiveCell/ActiveSheet。直接操作 Range 对象是更好的实践。例如:

    • Range("A10").Value = Range("A1").End(xlDown).Value
    • 而不是:
      Range("A1").Select
      Selection.End(xlDown).Select
      Selection.Copy
      Range("A10").Select
      ActiveSheet.Paste
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值