【发布时间】:2014-01-28 16:17:39
【问题描述】:
全部,
我需要一些认真的帮助。我没有创建 Excel 电子表格,但我正在尝试为朋友更正它。
问题出在这里,该电子表格被公司中的许多人使用,并且它并不总是包含相同数量的行。
我使用以下 VBA 代码插入了一个新行,该行复制了上面的单元格并粘贴到新行。问题是它没有合并单元格,也没有将公式带到 AM Column 的下一行。
如何修改现有的 VBA 代码以合并单元格并保留上一行的格式并修改下一行的公式
我找不到在哪里附加我正在使用的数据库的副本,以便您可以看到该数据库。请帮忙解决这个问题
以下是我目前使用的代码:(顺便说一句)---我是 VBA Stupid,所以请尽量保持简单。下面的代码是从别人那里借来的以满足我的需要。
下面是 AM 列中需要为下一行复制和修改的公式:
=IFERROR(INDEX(Sheet3!A2:D5,MATCH($AK$13,(Sheet3!A1:D1),0),MATCH($AL$13,(Sheet3!E2:E5),0)),0 )
下面是下一个公式的内容:
=IFERROR(INDEX(Sheet3!A2:D5,MATCH($AK$14,(Sheet3!A1:D1),0),MATCH($AL$14,(Sheet3!E2:E5),0)),0 )
Sub InsertRowFormulas()
Application.ScreenUpdating = False
Dim cell As Range
Selection.EntireRow.Insert
For Each cell In Intersect(ActiveSheet.UsedRange, Selection.Offset(-1, 0).EntireRow)
If cell.HasFormula Then
cell.Copy cell.Offset(1, 0)
End If
Next
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
单元格是否仅合并?我问是因为您的问题写得就像您一次只需要复制一行一样。
-
是的,我一次只在行上做。这将允许人员只添加他们需要的行数。
-
我的意思是问是否有任何垂直合并的单元格。听起来您只有水平合并的单元格。
-
需要合并居中的Cell有B-H、I-S、T-X、Y-AI
-
仅横向合并跨行的特定单元格