Excel 如何检测正在编辑的单元格是否属于已定义名称范围的最后一行
我有一个定义的名字叫“输入范围”。如果正在编辑输入范围的最后一个空行(将值添加到空行),则会自动插入空行 我已经研究这个问题好几天了,但没有解决办法。我只能做到: 工作表\u更改事件,以检测是否编辑或选择了定义名称范围内的数据,然后插入一行。即使编辑非空行(如范围的第一行),它仍会添加另一行 请帮忙 =========================Excel 如何检测正在编辑的单元格是否属于已定义名称范围的最后一行,excel,vba,Excel,Vba,我有一个定义的名字叫“输入范围”。如果正在编辑输入范围的最后一个空行(将值添加到空行),则会自动插入空行 我已经研究这个问题好几天了,但没有解决办法。我只能做到: 工作表\u更改事件,以检测是否编辑或选择了定义名称范围内的数据,然后插入一行。即使编辑非空行(如范围的第一行),它仍会添加另一行 请帮忙 ========================= 我只是想一想这个问题,也许我可以这样做:如果范围(“Input_范围”)中没有空行,那么插入一个空行。我没有想过这件事。嗯,仍然需要学习如何检测范
我只是想一想这个问题,也许我可以这样做:如果范围(“Input_范围”)中没有空行,那么插入一个空行。我没有想过这件事。嗯,仍然需要学习如何检测范围中的一行是否为空,但这更好。我会解决这个问题,如果我有问题,请帮助我。这就是你正在尝试的吗
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
很难从描述中看出你的问题是什么。你能发布给你带来麻烦的代码吗?作为一个想法,特别是如果你使用XL 2007或2010,你可能会考虑使用表(“列表”在XL 2003)代替。它们具有在您填写最后一行时使用公式添加新行的功能,还具有自动汇总、标题和筛选功能。非常感谢。这是我知道的代码,它是不完整的,因为我无法找出检测最后一行中已编辑单元格的语法。换句话说,如果在“输入”范围内没有空行,则插入一个额外的空行。非常感谢。是的,这就是我要找的。类似gridview的东西