猿问

获取实际使用范围

我有一个带有按钮的Excel工作表。

当我调用usedRange()函数时,它返回的范围包括按钮部分。

无论如何,我只能得到包含数据的实际使用范围吗?


潇湘沐
浏览 493回答 3
3回答

红颜莎娜

哪种按钮,无论是窗体控件还是ActiveX控件都不会影响使用范围。excel不能很好地跟踪使用范围是一个已知的问题。通过VBA对使用范围的任何引用都会将值重置为当前使用范围。因此,请尝试运行以下子过程:Sub ResetUsedRng()    Application.ActiveSheet.UsedRange End Sub 否则您可能会遇到一些格式化问题。尝试清除/删除最后一行之后的所有单元格。关于以上内容,另请参阅:Excel开发人员提示查找最后使用的单元格的另一种方法:    Dim rLastCell As Range    Set rLastCell = ActiveSheet.Cells.Find(What:="*", After:=.Cells(1, 1), LookIn:=xlFormulas, LookAt:= _    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)更改搜索方向以找到第一个使用的单元格。

哔哔one

Readify做出了非常完整的答案。但是,我想添加该End语句,您可以使用:在列中的空白之前找到最后使用的单元格:Sub LastCellBeforeBlankInColumn()Range("A1").End(xldown).SelectEnd Sub在“列”中找到最后使用的单元格:Sub LastCellInColumn()Range("A" & Rows.Count).End(xlup).SelectEnd Sub在行中的空白之前找到最后一个单元格:Sub LastCellBeforeBlankInRow()Range("A1").End(xlToRight).SelectEnd Sub在一行中找到最后使用的单元格:Sub LastCellInRow()Range("IV1").End(xlToLeft).SelectEnd Sub请参阅此处以获取更多信息(以及为什么xlCellTypeLastCell不是很可靠的解释)。
随时随地看视频慕课网APP
我要回答