【发布时间】:2017-06-09 18:24:30
【问题描述】:
我正在尝试让宏自动运行到:
- 在每个部分中插入一个空白行,例如当上面的数据验证行(在 A 列中)输入了一个值时的架构。 我在工作表中将代码作为子输入,当我在 excel 的开发人员选项卡中单击运行时,它会插入一行,但我希望它在每次输入内容时自动运行(打开工作簿后)列答:
Sub BlankLine()
'Updateby20150203
Dim Rng As Range
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set WorkRng = WorkRng.Columns(1)
xLastRow = WorkRng.Rows.count
Application.ScreenUpdating = False
For xRowIndex = xLastRow To 1 Step -1
Set Rng = Range("B" & xRowIndex)
If Rng.Value = "" = False Then
Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown
End If
Next
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
你的代码有什么问题?请删除
On Error Resume Next,它只会使错误静音,这样您就看不到它们并运行您的代码。 edit您的问题并添加您的代码实际执行的操作以及您期望它执行的操作以及是否有任何错误消息在哪里发生? -
你需要寻找一个事件,在 worksheet.change 事件或类似的东西上运行你的宏。