Все листы Excel с поддержкой макросов повреждены - PullRequest
0 голосов
/ 06 мая 2019

Каждый раз, когда я включаю макрос, указанный ниже, лист искажается. Я скопировал и вставил свои данные в совершенно новую книгу.

При сохранении и повторном открытии я получаю "Хотите ли вы попытаться восстановить столько, сколько мы можем?" диалоговое окно, и форматирование на листе с макросами сбрасывается, и макрос отключается.

Я вижу это в редакторе VBA, который выглядит как «Лист 2», обрабатывается как некоторый неизвестный объект и дает «Первой статье» еще одну переменную листа.

enter image description here

Может кто-нибудь помочь?

Private Sub Worksheet_Activate()
        Dim vars As Variant
        vars = Array("<CLICK FOR VARIANT LIST>", "sensitive content hidden")

        Dim sVars As String
        sVars = Join(vars, ",")

        With Range("E6").Validation
            .Delete
            .Add Type:=xlValidateList, Formula1:=sVars
        End With

        vars = Array("NOT SET", "SET")
        sVars = Join(vars, ",")

        With Range("I6").Validation
            .Delete
            .Add Type:=xlValidateList, Formula1:=sVars
        End With

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim vars As Variant
    vars = Array("<CLICK FOR VARIANT LIST>", "sensitive content hidden")

    If Target.Address = Range("E6").Address Then
        Dim i As Integer
        i = Application.Match(Range("E6").Value, vars, False)
        If i = 1 Then
            Range("A11:A109").EntireRow.Hidden = True
            Range("D111:D112").EntireRow.Hidden = False
        Else
            Range("A11:A109").EntireRow.Hidden = False
            Range("D111:D112").EntireRow.Hidden = True
            Range("A1").Value = i + 6
        End If

        'SXM/HD
        If i = 0 _
        Or Range("E6").Value = "sensitive content hidden" Then
            Range("hd_sw_row").EntireRow.Hidden = False
            Range("hd_pn_row").EntireRow.Hidden = False
            Range("sxm_pn_row").EntireRow.Hidden = False
            Range("sxm_function_row").EntireRow.Hidden = False
        Else
            Range("hd_sw_row").EntireRow.Hidden = True
            Range("hd_pn_row").EntireRow.Hidden = True
            Range("sxm_pn_row").EntireRow.Hidden = True
            Range("sxm_function_row").EntireRow.Hidden = True
        End If

        'DAB
        If i = 0 _
        Or Range("E6").Value = "sensitive content hidden"
        Then
            Range("dab_sw_row").EntireRow.Hidden = False
            Range("dab_pn_row").EntireRow.Hidden = False
            Range("dab_function_row").EntireRow.Hidden = False
        Else
            Range("dab_sw_row").EntireRow.Hidden = True
            Range("dab_pn_row").EntireRow.Hidden = True
            Range("dab_function_row").EntireRow.Hidden = True
        End If

        'GPS
        If i = 0 _
        Or Range("E6").Value = "sensitive content hidden"
        Then
            Range("gps_sw_row").EntireRow.Hidden = False
            Range("gps_pn_row").EntireRow.Hidden = False
            Range("gps_function_row").EntireRow.Hidden = False
        Else
            Range("gps_sw_row").EntireRow.Hidden = True
            Range("gps_pn_row").EntireRow.Hidden = True
            Range("gps_function_row").EntireRow.Hidden = True
        End If
    End If
End Sub
...