Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA类型不匹配_Excel_Vba - Fatal编程技术网

Excel VBA类型不匹配

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

我的简单代码中有一个类型不匹配,我不明白为什么。有人能解释我为什么会犯这个错误吗?我在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 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,因为我也喜欢玩把戏;)谢谢,道格