Sub Button1_Click()

   LastRow1 = LastRow("Sheet1")

End Sub

Function LastRow(sheetname as String) As Long

   LastRow = Range(sheetname & "!A" & Rows.Count).End(xlUp).Row

End Function


当我的工作表命名为“ Sheet1”时,我的代码起作用。当我将其重命名为“ Stack Overflow”时,它将失败。为什么?

最佳答案

当我的工作表命名为“ Sheet1”时,我的代码起作用。当我将其重命名为“ Stack Overflow”时,它将失败。为什么?


这是因为后者名称中有一个空格。

下面提到了正确的方法,该方法对两者都适用

Function LastRow(sheetname As String) As Long

   LastRow = Range("'" & sheetname & "'!A" & Rows.Count).End(xlUp).Row

End Function


注意单引号吗?

IMP:我知道我要重复此信息,但是我仍然觉得你应该遵循我在上一个问题中给出的链接中提到的方法

关于excel - 我将Excel工作表重命名为默认的“Sheet1”后,为什么此VBA代码失败?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20153452/

10-11 16:44