Скрыть таблицы на основе выбора состояния в ячейке - PullRequest
0 голосов
/ 26 февраля 2020

Я пытаюсь создать макрос, который после выбора состояния и количества владельцев будет скрывать определенные листы, которые указывают c для состояния и количества владельцев. Sheets("List") - это список штатов, которым требуется этот лист c, а также количество владельцев. Я продолжаю сталкиваться с ошибкой несоответствия типов, и я застрял. Любая помощь будет оценена!

РЕДАКТИРОВАТЬ:

Sub Owners()

Sheets("Start").Activate
Dim ws As Worksheet
   For Each ws In ThisWorkbook.Worksheets
   If ws.Name <> ThisWorkbook.ActiveSheet.Name Then
   ws.Visible = xlSheetHidden
   End If
   Next ws

With Worksheets("Start")
   Dim stateMatch As Variant
   stateMatch = Application.Match(.Range("B2").Value,Sheets("List").Range("K2:K32"), 0)

   Dim numOwnerMatch As Variant numOwnerMatch = Application.Match(.Range("B3").Value, Sheets("List").Range("D2:D3"), 0)

   If IsNumeric(stateMatch) And IsNumeric(numOwnerMatch) Then
   If numOwnerMatch = 1 Then
       Worksheets("1st OwnerStatement").Visible = True
       Worksheets("1st OwnerPPW").Visible = True
End If
 If numOwnerMatch = 2 Then
       Worksheets("1st OwnerStatement").Visible = True
       Worksheets("2nd OwnerStatement").Visible = True
       Worksheets("1st OwnerPPW").Visible = True
       Worksheets("2nd OwnerPPW").Visible = True
End If
End With


End Sub

1 Ответ

2 голосов
/ 26 февраля 2020

If ActiveSheet.Range("B2") = Sheets("List").Range("K2:K32") Then

Невозможно сравнить одну ячейку с диапазоном из нескольких ячеек, как этот.

Возможно, используйте Application.Match для проверки одиночной ячейка напротив списка, что-то вроде следующего:

With Worksheets("Start")
    Dim stateMatch as Variant
    stateMatch = Application.Match(.Range("B2").Value, Sheets("List").Range("K2:K32"), 0)

    Dim numOwnerMatch as Variant
    numOwnerMatch = Application.Match(.Range("B3").Value, Sheets("List").Range("D2:D3"), 0)
End With

If IsNumeric(stateMatch) And IsNumeric(numOwnerMatch) Then
    ... unhide the sheets
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...