我有一个已定义的名称调用“Input_Range”。如果正在编辑输入范围的最后一个空行(将值添加到空行),则自动插入空行。
我一直在研究这个问题几天但没有解决方案。我只能这样做: Worksheet_change事件,用于检测是否编辑或选择了定义的名称范围内的数据,然后插入一行。即使我编辑非空行(如范围的第一行),它仍会添加另一行。
请帮忙!
=========================
我只考虑问题而且我可以做:如果范围内没有空行(“Input_range”),则插入一个空行。我没有这个。好吧,仍然需要学习如何检测一个范围的行是否为空,但它更好。我将继续努力,如果我有问题,请帮助我。
答案 0 :(得分:2)
这是你在尝试的吗?
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MRange As Range, rng As Range
On Error GoTo Whoa
Set MRange = Range("InputRange")
'~~> Get the last Row of the range
Set rng = MRange.Range(MRange.Cells(MRange.Rows.Count, 1), _
MRange.Cells(MRange.Rows.Count, MRange.Columns.Count))
'~~> Trap changes in the last row of the range
If Not Intersect(Target, rng) Is Nothing Then
'If Application.WorksheetFunction.CountA(rng) > 0 Then
'Application.EnableEvents = False
'rng.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'End If
End If
LetsContinue:
Application.EnableEvents = True
Exit Sub
Whoa:
MsgBox Err.Description
Resume LetsContinue
End Sub