Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2015, 13:33   #11
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Попробовал конечно по разному, но проблема действительно видимо не в Else.
Может надо как-то объявлять переменные/массивы по другому... Не пойму, опыта нема...
Но все-равно спасибо за варианты!

Последний раз редактировалось MaxxVer; 16.07.2015 в 13:37.
MaxxVer вне форума Ответить с цитированием
Старый 16.07.2015, 13:36   #12
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

А зачем Вам вообще массив? столбцы у Вас четко определены

Пробуйте написать макрос только на открытие второго массива
27102014 вне форума Ответить с цитированием
Старый 16.07.2015, 14:21   #13
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Цитата:
Сообщение от 27102014 Посмотреть сообщение
А зачем Вам вообще массив? столбцы у Вас четко определены

Пробуйте написать макрос только на открытие второго массива
Попробую пояснить - определены четко, но если какой-нибудь из них уже скрыт, то его не надо потом раскрывать, а тут неизвестно какой будет скрыт изначально... То есть массив arrP2 должен наполняться на основе прогонки массива arr.
MaxxVer вне форума Ответить с цитированием
Старый 16.07.2015, 14:27   #14
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

Сделайте предварительно поиск нужного массива и проверку - скрыт он или открыт, а уж потом только заполнение данными
27102014 вне форума Ответить с цитированием
Старый 16.07.2015, 15:51   #15
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Так и не смог победить эти массивы, пришлось сделать некрасиво через ячейки самого листа

Код:
Private Sub CheckBox1_Click() ' Ñêðûòèå/ðàñêðûòèå îòêëîíåíèé
Dim arr, i
Application.DisplayAlerts = False
Application.ScreenUpdating = False
arr = Array(35, 39, 43, 47, 51, 59, 97, 101, 105, 109, 113, 117, 121, 157, 161, 165, 169, 173, 177, 181)

If CheckBox1 = True Then
Range(Cells(3, 3), Cells(3, 400)).ClearContents
    For i = 0 To UBound(arr)
        If Columns(arr(i)).ColumnWidth > 0 Then
            Columns(arr(i)).EntireColumn.Hidden = True
            Cells(3, arr(i)).Value = 1
        End If
    Next
Else
    For i = 0 To UBound(arr)
        If Cells(3, arr(i)).Value = 1 Then
            Columns(arr(i)).EntireColumn.Hidden = False
        End If
    Next
Range(Cells(3, 3), Cells(3, 400)).ClearContents
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Всем спасибо за участие!
MaxxVer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SVG и transform-style(preserve-3d) AlexandrNB HTML и CSS 1 26.01.2015 14:13
Динамический массив(Redim) Visual Basic. Army Помощь студентам 1 16.06.2011 20:27
ПРОБЛЕМКА Kirill99 Помощь студентам 8 19.04.2010 18:51
ReDim и Subscript out of range (Error 9) oldfatham Microsoft Office Excel 5 24.08.2009 18:32