【发布时间】:2020-03-31 10:18:14
【问题描述】:
我有一个基于输入用户框添加新闻行的宏,我想使用自动填充来保持公式和尽可能相同的布局。
示例:我想在 sheet1 中添加 4 个额外的产品。现在,宏(我的按钮)在第 24 行(Product1)、第 28 行和第 32 行下方创建 4 个新行。我想将 O、AB、AO、BB 和 BO 列中的原始公式应用于新插入的行。如何调整以下代码?
Sub NewPoS()
Application.ScreenUpdating = False
Dim MyN As String
Dim i As Long, MyMarker As Long, MyM As Long, LstRW As Long
Dim ws As Worksheet: Set ws = Feuil1
MyN = InputBox("Give me a number", "My Input Box")
If Not IsNumeric(MyN) Then Exit Sub
MyN = CInt(MyN)
For MyMarker = 1 To 5
LstRW = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
MyM = Application.Match("Marker" & MyMarker, ws.Range(ws.Cells(1, 1), ws.Cells(LstRW, 1)), 0)
For i = 1 To MyN
ws.Rows(MyM + 2).EntireRow.Insert shift:=xlUp
Next i
Next MyMarker
End Sub
此外,我想在 sheet2 上做完全相同的事情,但其中单元格的值与 sheet1 相同(已设置)
感谢您的帮助!
【问题讨论】:
-
1) 你写的 “在第 24 行(Product1)、第 28 行和第 32 行下方创建 4 个新行”,即低于三行,而按照您的代码应该在五行以下创建行 (
For MyMarker = 1 To 5)。 2) 为什么要从找到的行下方的第三行插入行 (ws.Rows(MyM + 2).EntireRow.Insert shift:=xlUp)?