“类型不匹配”尝试使用vba隐藏行

“类型不匹配”尝试使用vba隐藏行,vba,excel,Vba,Excel,我想做的是隐藏行,这样我的界面更轻,但在编译代码时,我会收到以下错误消息: 类型不匹配错误13 我马上就看到一个问题。当您执行ActiveSheet.RowsstartRow:endRow.EntireRow.Hidden=True时,您并没有调用这些变量,而是将它们声明为字符串 请尝试以下方法: ActiveSheet.Rowsstartrow&:&endrow.EntireRow.Hidden=True 这样,您可以正确地调用变量,唯一的字符串是:冒号 另外,下次你提问时,请确保你解释你是否

我想做的是隐藏行,这样我的界面更轻,但在编译代码时,我会收到以下错误消息:

类型不匹配错误13


我马上就看到一个问题。当您执行ActiveSheet.RowsstartRow:endRow.EntireRow.Hidden=True时,您并没有调用这些变量,而是将它们声明为字符串

请尝试以下方法:

ActiveSheet.Rowsstartrow&:&endrow.EntireRow.Hidden=True

这样,您可以正确地调用变量,唯一的字符串是:冒号


另外,下次你提问时,请确保你解释你是否收到了错误,或者只是没有达到你想要的结果。我猜这会导致类型不匹配错误,但我不能确定。这有助于每个人更好地帮助您。

这段代码解决了我的难题,但是否有更干净的方法来定义excel的最后一行,就像这样

endRow=1048576


嗨,这解决了我的挑战,但后来出现了一个新的挑战。您是否知道如何在文档末尾隐藏50行。在我的excel中,用户创建和删除使隐藏行可见的行。问题的原因是excel开始抱怨内存量。
Public Function keepAdditionalRowsHidden()

Dim startRow As Long
Dim lastrow As Long

Dim startRowString As String
Dim endRowString As String

startRow = 40
lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).row

startRowString = CStr(startRow)
endRowString = CStr(lastrow)

ActiveSheet.Rows("startRow:endRow").EntireRow.Hidden = True

End Function
Public Function keepAdditionalRowsHidden()

        Dim startRow As Long
        Dim endRow As Long

        startRow = ER.row + 1

        endRow = 1048576 ' last row of the excel

        ActiveSheet.Rows(startRow & ":" & endRow).EntireRow.Hidden = True
End Functioncode here