跳到主要内容

 在Excel中插入行时如何自动填充公式?

在现有数据行之间插入空白行时,该公式不会复制并粘贴到新行中,您应该手动拖动或填充它。 但是,有时候,当您自动在数据范围之间插入空白行时,您想填写公式,如下图所示,本文中,我将讨论一些解决该任务的快速技巧。

doc自动填充公式插入第1行

创建表格插入空白行时自动填充公式

使用VBA代码插入空白行时自动填充公式


创建表格插入空白行时自动填充公式

在Excel中,表格格式可以帮助您将上述公式自动填充到新插入的空白行中,请执行以下操作:

1. 选择您要自动填充公式的数据范围,然后单击 插页 > ,请参见屏幕截图:

doc自动填充公式插入第2行

2。 在 创建表 对话框中,检查 我的桌子有标题 如果您的数据中包含标题,请参见屏幕截图:

doc自动填充公式插入第3行

3。 然后点击 OK 按钮,表格已创建,现在,当您插入空白行时,以上公式将自动插入到新行中,请参见屏幕截图:

doc自动填充公式插入第4行


使用VBA代码插入空白行时自动填充公式

如果您不希望将数据更改为表,则下面的VBA代码也可以帮助您解决此问题。

1。 选择包含您要自动填充的公式的工作表选项卡,然后右键单击以选择 查看代码 从上下文菜单转到 Microsoft Visual Basic应用程序 窗口,然后将以下代码复制并粘贴到模块中:

VBA代码:插入空白行时自动填充公式

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice 20160725
    Cancel = True
    Target.Offset(1).EntireRow.Insert
    Target.EntireRow.Copy Target.Offset(1).EntireRow
    On Error Resume Next
    Target.Offset(1).EntireRow.SpecialCells(xlConstants).ClearContents
End Sub

doc自动填充公式插入第5行

2。 然后保存并关闭此代码,返回到工作表,现在,当您双击数据之间的单元格时,将在活动单元格下面插入新行,并且也会自动填充公式。


演示:插入空白行时自动填充公式

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...

产品描述


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
Comments (14)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This works GREAT, until I protect the worksheet (to protect my forumulas in other cells). Can you let me know what i need to do to keep this functionality once the worksheet is protected?
This comment was minimized by the moderator on the site
Excellent simple piece of code!!!!
This comment was minimized by the moderator on the site
Hi,

This code is very helpful, however, I have a slightly different requirement. The formulas should be copied when the row is inserted manually, i.e. by "insert row".
Can you please resend the code after incorporating this change i.e. instead of "Worksheet_BeforeDoubleClick", some other trigger point to be used "insert row/etc"

Note - I do have any exposure to coding being from the Accounts background.


Regards
Niket Shet
This comment was minimized by the moderator on the site
Hi Niket. You can see all the options for different trigger points in the tab itself.

For this click on CTRL + F11 to open the code editor as explained in the video above, and there will be 2 dropdowns on the top of the code which you would copy, click on the second dropdown and you can find many options for different trigger points.

The first dropdown would be ideally set to "Worksheet" and the second one would be set to "BeforeDoubleClick". You can change the second trigger point to your liking and use accordingly.

Hope it helps!
This comment was minimized by the moderator on the site
I had the same question as Niket, so I tried looking at the list of trigger points in the second dropdown and I don't see anything that clearly works as Niket or I intend with the (select row+right click+insert row functionality). I tried the "BeforeRightClick" option but it just inserts a row w/formulas anytime I right click a cell, which is definitely not what I was looking for. Is there a resource somewhere that explains what each of the triggers can be used for? Or is there possibly another way to get to this functionality?

Thanks!
Jeff
This comment was minimized by the moderator on the site
I am using the code to insert a line on double-click. However, there is something wrong, Excel does not increment the first reference in my formula in the next but one row. However, it is corrected for all remaining rows.
I inserted a line at row 144 and this is what I got: (note S144 in 3rd line should be S145)
row 144 =(S143+D144+E144)-(K144+L144+M144+N144+O144+Q144+R144)
row 145 =(S144+D145+E145)-(K145+L145+M145+N145+O145+Q145+R145)
row 146 =(S144+D146+E146)-(K146+L146+M146+N146+O146+Q146+R146)
row 147 =(S146+D147+E147)-(K147+L147+M147+N147+O147+Q147+R147)
Any clues as to why it does this, I don't think it is the VBA???
David
This comment was minimized by the moderator on the site
Does the table method work in excel for xp (2002) and if yes, how?
This comment was minimized by the moderator on the site
The code works very well, but does not update cell reference in first row after the inserted row.See below" e.g 50 10 40 40 10 50 40 20 20
This comment was minimized by the moderator on the site
This code is very good, but it does not update the cell reference in the first following row after the inserted row. Can you please help? e.g: 50 10 40 40 10 50 40 20 20
This comment was minimized by the moderator on the site
Above formula is very helpful for me please tell me how to use this code permanently
This comment was minimized by the moderator on the site
dear above formula which helps to update the above formula on inserting row by double clicking. I want to know how to use this code permanently because when i close the sheet and reopen code finishes. Please help to solve the issue. This formula is very helpful for me
This comment was minimized by the moderator on the site
Hi Bilal. You need to save the file as a "Macro Enabled" file to get the code to work once you close and reopen the file. To save the file as Macro, just use "Save as" and then select "Excel-Macro Enabled Workbook" to get the desired result.
This comment was minimized by the moderator on the site
Very easy solution. Thank you very much.
This comment was minimized by the moderator on the site
I followed the VBA code mentioned above for my xls. I have one .xls with multiple sheets in it , i want if i insert a row in my one sheet at the start or any of the sheet for that matter it should auto insert row in all my sheet in the same worksheet. Also each of my sheet as formulas hence i want the moment auto insert takes place the formula of above row should get autofill in the new row which is not happening totally if i follow the VBA code mentioned , the rows are getting inserted in all my sheets the formula also shows up but it misses one row in it. Eg. I have sheet A with 100 rows , sheet B with 100 ros and so on with other sheets. If I insert row in sheet A it shows auto insert in Sheet B , but sheet B values of some column are linked with sheet A and the moment i insert a row eg 10 , row 11 is a new row and the same row 11 in sheet B also shows up but the value it should pull from row 11 of sheet A from column C rather it shows row 12 of sheet A , this happens on any row i insert the value in sheet B is always of the next row rather than same row that i inserted. Another problem that comes here is with my first column Sr. no the moment i insert a row in 5 , sr no 6 with new row shows up but prior to that i already had row 6 as i have a formula for Sr. no A6+1 as my column starts from A6 and so on so how to sort this issue with 2 rows with same sr. no. This is very crucial sheet am working on and i need to get this sorted, i have refereed many VBA codes but none is effective. Hoping for a proper solution to my issue.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations