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