Excel键盘快捷键可以复制/填写相邻非空白单元格的所有单元格?


45

我正在寻找一种键盘快捷方式,该快捷方式将通过双击单元格右下角的“句柄”来复制可用的功能。没有第三方软件或创建自定义宏,是否可以做到这一点?

Answers:


36

我为您提供两种方法来完成您想要的。不幸的是,这两种方法都有其自身的警告,因为Excel并未提供用于自动填充的多合一键盘快捷键。我强烈建议您尝试两种方法,然后确定哪种方法最适合您。除了这两种方法,我相信您不使用宏或外接程序模块就无法完成您想要的工作。如果您要执行宏路由,则AutoFill任何Range对象上的方法都应该是您所需要的。


方法1(替代,但没有鼠标交互即可工作)

完成此操作的另一种方法是使用填充快捷方式和范围内的全选的组合。在单元格中输入数据后,按Ctrl+Shift+End可以从当前单元格中选择要自动填充的范围的末尾。然后,按一下Ctrl+D以“填充”到顶部单元格的整个范围。

方法2(我的首选方式,一次鼠标交互)

填写完要向下自动填充的单元格后,照常双击右下角。要重复“自动填充”步骤,只要您仅输入数据并按Enter,就可以按来重复Ctrl+Y

这意味着您确实需要使用鼠标,但这只是第一次。只要您仅使用键盘来输入数据(即,您不使用上下文菜单按钮来修改任何内容),所有后续工作都可以完全通过键盘完成。


请注意,第一种方法确实带有一些小警告-您的视图/光标将移至电子表格的底部(该Ctrl+Y方法不会发生这种情况)。您可以Home按键将光标快速上移。


第二种方法对我而言是完美的,它帮助我非常快速地填写了123,798行。谢谢!
约书亚·沃尔什

9

我也对自动填充手柄的较短按键绑定感到好奇。但这也可以:

填充系列的按键顺序

选择要扩展系列的整个范围,包括空白单元格和“种子”(包含自动填充系列所基于的初始值的单元格)。

ALT>> H>> F>> I>> S>> Alt+ F>> Enter

在此处输入图片说明

要创建/编辑您的自定义列表,请按Alt+ F,转到“ 热门”,然后单击“ 编辑自定义列表”。自定义列表用作自动填充手柄填充单元格的基础。

填满

Ctrl+ D

注意

这些组合键仅适用于Excel的英语。如果您在任何其他语言使用Excel,搜索相应的组合键在你的语言: 首页丝带> 填充(在编辑带状段)> 系列......。在对话框中选择“ 自动填充”,然后按Enter。填充键组合也可能不同(Ctrl+ D)。


1
^ _ ^如果添加up-up-down-down-abab查尔斯·诺里斯(chor norris)出现。就个人而言,我几乎总是很少使用填充句柄,而我依赖于数据表的其余部分(即名称框)。例如,如果我要将一个公式从A1复制到它下面的200个单元格中,我将在名称框中键入“ A200”,按Enter,然后按Ctrl + Shift + Up,然后按Ctrl + D。
Ellesa

2
  1. 选择要填充数据的范围,包括数据可用的第一行/单元格到数据结束的最后一行/单元格。
  2. Ctrl+ G(转到)
  3. 转到特价,然后从可用选项中选择“空白”。按确定。
  4. 在您当前所在的单元格中(已在范围内选择空白单元格),输入引用上一个单元格“ = +向上箭头”的公式(假设您在单元格A3中,键入= A2),然后按Ctrl+ Enter
  5. 通过再次复制并粘贴选择整个范围,将上述公式转换为值。

非常好的解决方案和最有效的解决方案。
福雷斯特·史蒂文斯

2

到目前为止,我最好的解决方案是:

  1. CTRL-C 源单元的

  2. CTRL-G (转到)输入列中的最后一个单元格

  3. SHIFT-ENTER (突出显示整个部分)

  4. ENTER (将值粘贴到所有单元格中)

适用于Excel 2007/2013/365


0

在@Ellesa的答案中提到的用于弹出“系列(Windows)”对话框的较短的2010年前键盘快捷键是:

ALTEIS

它仅需短按一次按键,但仍然需要额外一击。


0

对于在Mac上值得的东西,我使用Keyboard Maestro为此执行了一系列键盘命令,因此我不必使用鼠标。

顺序为:

  1. 向下箭头(这两个命令允许复制正常工作)
  2. 向上箭头
  3. Command + C
  4. 向左箭头(更改为向右箭头以引用向右)
  5. Command + Shift +向下键
  6. Option + Tab(如果在第4步中引用了右侧,请更改为Option + Shift + tab)
  7. Command + V

这几乎是即时的,并且在大多数情况下,就像双击要复制的单元格的右下部分一样。我知道的唯一区别是,如果您位于左无右列的列中,则优先考虑要填充的列。

使用这些命令的好处是,您可以创建两个快捷方式,并选择要填充引用的哪一侧。


0

输入公式后,您也可以复制,突出显示和粘贴。这种方法使我只能使用键盘,而无需单击鼠标。

尽管双击可能更快。取决于偏好。

例如,我正在做一个VLOOKUP。并且第一个查找值在单元格B2中。1.我在A2中输入了公式。2.然后我复制了单元格A2(Ctrl + c)3.然后从A3开始,我突出显示了要在(Ctrl + Shift + Down)或(Shift + Down)中填充公式的范围。4.然后粘贴了(ctrl + v)

当我执行此操作时,单元格A3中的公式在B3处具有查找值,A5处的B5具有依此类推值。您可能需要进行抽查以确保公式在您第一次执行时进行调整。


0

假设相邻列中有数据,我喜欢执行以下操作(假设另一列与要填充的列的左侧相邻):

选择要双击填充手柄的单元格。

然后:

  1. Left更改为包含其他数据的列
  2. Ctrl+Down转到数据末尾
  3. Right返回到将要填充的列
  4. 按下Ctrl+Shift+Up以选择具有填充值的单元格
  5. 按下Ctrl+D以填充(下)

按下的键始终相同,因此可以将其放在键盘宏上。

做同样的事情的另一种序列: LeftEndDownRightEndShift+UpCtrl+D


0

上面的所有答案都不像双击单元格的右下角以根据相邻列将一列自动填充到所需的行数一样。VBA是仅使用键盘并使用以下代码完成此操作的唯一方法:

Sub AutoFill_Column()

Selection.AutoFill Destination:=Range(Selection, Cells(ActiveCell.SpecialCells(xlLastCell).Row, Selection.Column))

End Sub

使用以下命令自动填充一行(基于该行上方的相邻数据)可以实现相同的目的:

Sub Autofill_Row()

Selection.AutoFill Destination:=Range(Selection, Cells(Selection.Row, ActiveCell.Offset(-1, 0).End(xlToRight).Column))

End Sub
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.