Excel VBA类型不匹配
我的简单代码中有一个类型不匹配,我不明白为什么。有人能解释我为什么会犯这个错误吗?我在ActiveSheet行中得到错误信息Excel VBA类型不匹配,excel,vba,Excel,Vba,我的简单代码中有一个类型不匹配,我不明白为什么。有人能解释我为什么会犯这个错误吗?我在ActiveSheet行中得到错误信息 Sub testHidden() Dim i As Integer Dim totalRows As Long totalRows = ActiveSheet.UsedRange.Rows.Count ActiveSheet.Rows("1:totalRows").Hidden = False End Sub 根据用户414076的评论,该评论基本正确: Sub
Sub testHidden()
Dim i As Integer
Dim totalRows As Long
totalRows = ActiveSheet.UsedRange.Rows.Count
ActiveSheet.Rows("1:totalRows").Hidden = False
End Sub
根据用户414076的评论,该评论基本正确:
Sub testHidden()
Dim i As Integer
Dim totalRows As long
totalRows = ActiveSheet.UsedRange.Rows.Count
ActiveSheet.Rows("1:" + CStr(totalRows)).Hidden = False
End Sub
根据用户414076的评论,该评论基本正确:
Sub testHidden()
Dim i As Integer
Dim totalRows As long
totalRows = ActiveSheet.UsedRange.Rows.Count
ActiveSheet.Rows("1:" + CStr(totalRows)).Hidden = False
End Sub
或者简单地说:
Sub testHidden()
ActiveSheet.UsedRange.Rows.Hidden = False
End Sub
或者简单地说:
Sub testHidden()
ActiveSheet.UsedRange.Rows.Hidden = False
End Sub
尽管有这整行代码,但当您想要连接变量totalRows时,您还将字符串“totalRows”嵌入到语句中。尝试类似于
“1:&totalRows
的方法,看看这能让你走多远。它至少应该将指针移到可能存在的任何其他问题上(已经有好几年没有在Excel中编码VBA了)。尽管如此,当您想要连接变量totalRows时,您还将字符串“totalRows”嵌入到语句中。尝试类似于“1:&totalRows
的方法,看看这能让你走多远。它至少应该将矛头指向可能存在的任何其他问题(已经好几年没有在Excel中编写VBA了)。这回答了Sean的问题。Pragmateek为Sean代码的隐藏行目标提供了更好的解决方案,但没有回答最初的问题(即,为什么他的代码会导致错误?)。不知道为什么这被否决。这回答了肖恩的问题。Pragmateek为Sean代码的隐藏行目标提供了更好的解决方案,但没有回答最初的问题(即,为什么他的代码会导致错误?)。我不知道为什么会被否决。我同意,但要小心,相反的说法是不正确的:“ActiveSheet.Rows.Hidden=true”(哎呀!),所以最好明确说明意图。但无论如何+1,因为我也喜欢玩把戏;)感谢DougI,我同意,但要小心,相反的说法是不正确的:“ActiveSheet.Rows.Hidden=true”(哎呀!)所以最好明确说明意图。但无论如何+1,因为我也喜欢玩把戏;)谢谢,道格