在Excel工作表中获取最后使用的行和列而不打开它

时间:2014-11-11 04:21:55

标签: excel

我是否可以获取工作表的最后一个使用的行号和列号而无需打开它或使用Interop(这非常慢)?

由于

2 个答案:

答案 0 :(得分:0)

无需打开完整的工作表或工作簿?正如迈克所问,你在尝试做什么平台?

如果您尝试在工作簿中执行此操作,则可以创建一个模块(使用ALT + 11打开VBA),插入,模块。

Sub lastusedcell()

Dim lastcol As Long
Dim lastrow As Long

lastcol = Worksheets("Sheet2").Cells.Find(What:="*", SearchOrder:=xlColumns, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Column

lastrow = Worksheets("Sheet2").Cells.Find(What:="*", SearchOrder:=xlRows, _
SearchDirection:=xlPrevious, LookIn:=xlValues).Row

MsgBox "Last used cell is (colnumber:rownumber) " & lastcol & ":" & lastrow


End Sub 

将“Sheet2”更改为相应的工作表名称。 如果您也想检查包含公式的单元格,请替换

LookIn:=xlValues with LookIn:=xlFormulas

回答来源Source website with a few modifications for answer

然后手动运行宏来创建一个按钮来执行它,或者如果需要VBA中的值,则调用该函数。

答案 1 :(得分:0)

我在智能表文档中找到的最接近的是以下键盘快捷键。看来[Ctrl] + [上箭头]和[Ctrl] + [左箭头]等效于[Ctrl] + [Home],而[Ctrl] + [下箭头]和[Ctrl] + [右箭头]分别是等同于[Ctrl] + [End]。我还没有找到等效的行导航[Home]和[End]键盘快捷键。

  • [主页]:将您带到当前所在行的第一个单元格。
  • [End]:带您到行的最后一个单元格当前处于打开状态。
  • [Ctrl] + [Home]:将您带到工作表的左上角单元格。
  • [Ctrl] + [End]:带您到工作表右下角的单元格。