[英]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.