[英]Object required error in Workbook_Open with For loop
***正在工作! 谢谢大家的帮助:D-结果是声明了range并将其设置为“ columnnrange”,并且for循环正在使用“ columnrange”。 这是小事;)。 感谢所有的有识之士和指导!
*感谢大家的帮助! 我已经根据响应更新了代码。 错误肯定在For循环运行时出现-如果已注释掉,则没有错误。 我相信错误是与范围“ columnrange”对象有关。 谢谢!!
我有一个简单的Workbook_Open()
例程,该例程打开UserForm“ SelectData”并设置ComboBox“ DisplayData”值。 我有一个MsgBox
,用于确认在ComboBox“ DisplayData”中设置的值。
设置后,将隐藏用户窗体“ SelectData”。 然后,存在一个"for"
循环来隐藏“ columnrange”范围内给定单元格不等于ComboBox值的所有列。 我遇到了“需要对象”错误,但终生无法弄清楚我要去哪里。 该电子表格的目标是:“打开”,允许用户筛选从SharePoint列表导出的excel文档上的可见列。
提前致谢!!
Private Sub Workbook_Open()
Dim columnrange As Range
Dim cell As Range
Set columnnrange = ActiveWorkbook.Worksheets("owssvr").Range("G1:Z1")
SelectData.Show
MsgBox (SelectData.DisplayData.Value)
For Each cell In columnrange
If SelectData.DisplayData.Value <> cell Then
cell.EntireColumn.Hidden = True
Else
cell.EntireColumn.Hidden = False
End If
Next cell
End Sub
您将需要确保SelectData表单已打开。 您是否有“确定”或“关闭”按钮的代码? 如果您使用类似Me.Close
东西,那么您将没有任何对象。 您可以改为使用Me.Hide
。
更改循环条件以验证单元格而不是columnrange 。 这是应该工作的简化代码。
For Each cell In columnrange
If SelectData.DisplayData.Value <> cell Then
cell.EntireColumn.Hidden = True
Else
cell.EntireColumn.Hidden = False
End If
Next cell
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.