为了账号安全,请及时绑定邮箱和手机立即绑定

获取实际使用范围

获取实际使用范围

潇湘沐 2019-09-24 16:46:32
我有一个带有按钮的Excel工作表。当我调用usedRange()函数时,它返回的范围包括按钮部分。无论如何,我只能得到包含数据的实际使用范围吗?
查看完整描述

3 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

哪种按钮,无论是窗体控件还是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)

更改搜索方向以找到第一个使用的单元格。


查看完整回答
反对 回复 2019-09-24
?
哔哔one

TA贡献1854条经验 获得超8个赞

Readify做出了非常完整的答案。但是,我想添加该End语句,您可以使用:


在列中的空白之前找到最后使用的单元格:


Sub LastCellBeforeBlankInColumn()

Range("A1").End(xldown).Select

End Sub

在“列”中找到最后使用的单元格:


Sub LastCellInColumn()

Range("A" & Rows.Count).End(xlup).Select

End Sub

在行中的空白之前找到最后一个单元格:


Sub LastCellBeforeBlankInRow()

Range("A1").End(xlToRight).Select

End Sub

在一行中找到最后使用的单元格:


Sub LastCellInRow()

Range("IV1").End(xlToLeft).Select

End Sub

请参阅此处以获取更多信息(以及为什么xlCellTypeLastCell不是很可靠的解释)。


查看完整回答
反对 回复 2019-09-24
  • 3 回答
  • 0 关注
  • 492 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信