簡體   English   中英

帶For循環的Workbook_Open中的對象必需錯誤

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM