向下和向右智能自动填充

内容

直到现在,有时我会面带微笑地记得 10 年前我第一次参加现场企业培训。

想象一下:一家国际快消品公司代表处的开放式办公室,巨大如足球场。别致的设计、昂贵的办公设备、着装要求、在角落里咕咕叫的外籍人士——仅此而已 🙂 在其中一间会议室,我开始为经济部门的 2003 名关键员工进行为期两天的关于当时最新版本的 Excel 15 的高级培训,以及他们的领导者。我们熟悉了,我向他们询问业务任务、问题,我请他们展示几个典型的工作文件。他们显示从 SAP 卸载的公里长度、他们就此所做的报告表等。嗯,这是一件熟悉的事情 – 我在心里找出主题和时间安排,根据观众进行调整。我用眼角的余光注意到,一位参与者在演示他的一份报告时,耐心地将右下角黑色十字处带有公式的单元格拉下数千行,然后跳过报告的末尾。我无法忍受,打断了他在屏幕上滚动鼠标的动作,并在黑色十字上双击,解释了自动完成一直到停止的情况。 

突然,我意识到观众安静得可疑,每个人都在奇怪地看着我。 我不知不觉地环顾四周——一切都很好,我的胳膊和腿都在原位,我的苍蝇被扣上了。 我在心里回想我的遗言,寻找一些可怕的条款——似乎没有什么犯罪行为。 说完,团长默默起身,握了握我的手,面无表情地说:“谢谢你,尼古拉。 本次培训即可完成。

好吧,简而言之,事实证明他们都没有关于双击黑色十字和自动完成的线索。 不知何故,历史上没有人向他们展示如此简单但必要的东西。 整个部门为数千行手动提取公式,可怜的家伙。 我在这里。 石油场景。 然后部门负责人非常要求不要向任何人透露他们公司的名称🙂

几次之后,也出现了类似的情况,但只是针对个别听众——当然,现在大多数人都知道这个功能。 

向下和向右智能自动填充问题是不同的。 在掌握了如此美妙的功能的第一次快乐之后,大多数用户开始明白通过双击黑色十字(自动完成标记)自动复制公式具有所有积极方面和消极方面:

  • 复制并不总是发生在表的末尾. 如果表格不是单片的,即相邻列中有空单元格,那么自动完成将不会工作到表格末尾。 最有可能的是,该过程将在到达终点之前在最近的空单元格处停止。 如果列下方的某些单元格被某些单元格占用,则自动完成将完全停止它们。
  • 复印时 细胞设计破坏,因为默认情况下,不仅复制公式,还复制格式。 要更正,请单击复制选项按钮并选择 只有价值观 (无格式填写).
  • 没有快速的方法来方便地拉伸公式 不是向下而是向右除了用手拉。 双击黑色十字就可以了。

让我们尝试用一个简单的宏来解决这些缺点。

向左按键盘快捷键 Alt + F11键 或按钮 Visual Basic中 标签 开发人员 (开发商). 通过菜单插入新的空模块 插入 - 模块 并在那里复制这些宏的文本:

Sub SmartFillDown() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(0, -1).CurrentRegion If rng.Cells.Count > 1 Then n = rng.Cells(1).Row + rng.Rows。 Count - ActiveCell.Row ActiveCell.AutoFill Destination:=ActiveCell.Resize(n, 1), Type:=xlFillValues End If End Sub Sub SmartFillRight() Dim rng As Range, n As Long Set rng = ActiveCell.Offset(-1, 0).CurrentRegion If rng.Cells.Count > 1 Then n = rng.Cells(1).Column + rng.Columns.Count - ActiveCell.Column ActiveCell.AutoFill Destination:=ActiveCell.Resize(1, n),输入: =xlFillValues End If End Sub  

这样的宏:

  • 不仅可以向下填充(SmartFillDown),还可以向右填充(SmartFillRight)
  • 不要破坏下方或右侧单元格的格式 - 仅复制公式(值)
  • 空的相邻单元格将被忽略,并且复制恰好发生在表的末尾,而不是数据中最近的间隙或第一个占用的单元格。

为了更方便,您可以使用 按钮为这些宏分配键盘快捷键 宏 - 选项 (宏 - 选项) 就在标签上。 开发人员 (开发商). 现在只需在列的第一个单元格中输入所需的公式或值,然后按下宏的指定组合键即可自动填充整列(或行):

美:

PS 随着“智能表格”的出现,将公式复制到表格末尾的部分问题在 Excel 2007 中得到了解决。 诚然,它们并不总是,也并非无处不在。 在右边,Excel 从来没有学会自己复制。

  • 什么是宏,如何使用它们,从哪里获取 Visual Basic 代码以及在哪里粘贴。
  • Excel 2007-2013 中的智能表格
  • 复制没有链接移位的公式

发表评论