2017-07-19 66 views
1

我正在使用一些旨在根據下拉菜單中的選擇隱藏/取消隱藏表格的代碼。安裝程序是:指定多頁/字符串數組?

Private Sub Worksheet_Change(ByVal Target As Range) 
    If Target.Address = Range("SelectCP").Address Then 
    Select Case Target.Value 
     Case "All" 
     ShowAllSheets 
     Case "" 
     'do nothing 
     Case Else 
     ShowSelSheets 
     'do nothing 
    End Select 
    End If 
End Sub 

其中功能ShowAllSheets和ShowSelSheets被定義爲:

Sub ShowAllSheets() 
Dim ws As Worksheet 
For Each ws In ActiveWorkbook.Sheets 
    ws.Visible = xlSheetVisible 
Next ws 
End Sub 


Sub ShowSelSheets() 
Dim ws As Worksheet 
Dim strType As String 
strType = Worksheets("Counterparty Overview").Range("SelectCP").Value 
For Each ws In ActiveWorkbook.Sheets 
    If InStr(1, ws.Name, strType) > 0 Then 
    ws.Visible = xlSheetVisible 
    Else 
    If ws.Name <> "Counterparty Overview" Then 
     ws.Visible = xlSheetHidden 
    End If 
    End If 
Next ws 
End Sub 

我遇到的麻煩是與該位:

Else 
If ws.Name <> "Counterparty Overview" Then 
    ws.Visible = xlSheetHidden 

我想指定兩個除了「交易對手概覽」以外,其他表格還會一直顯示。我試圖啓動strType作爲一個變量數組,但得到一個錯誤。有任何想法嗎?

回答

0

試試這個:

Dim SomeSheet as String 
SomeSheet = "Other Sheet Name" 

If ws.Name <> "Counterparty Overview" Then 
    ws.Visible = xlSheetHidden 
    Sheets(SomeSheet).Visible = xlVisible 
    'or 
    Sheets("Other Sheet Name").Visible = xlVisible 

End If 
+1

這是有幫助的,謝謝! – Nick