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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2009, 18:29   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию открыть диапазон

Здравствуйте
Подскажите, как открыть диапазон.
При нахождении скрытой ячейки столбца 27, необходимо растянуть диапазон еще на 36 скрытых строк от найденной ячейки в низ, а затем открыть диапазон. Как добавить 36 скрытых строк?
Код:
Dim i As Integer
       For i = 1 To 1000
        If Sheets("Отчет").Cells(i, 27).Text = ComboBox2.Text Then 'Поиск ячейки, по совпвдению текстов
         Sheets("Отчет").Cells(i, 27).EntireRow.Hidden = False 'Открытие диапазона

Последний раз редактировалось segail; 20.09.2009 в 22:17.
segail вне форума Ответить с цитированием
Старый 21.09.2009, 04:50   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если я все правильно понял, то можно так:
Код:
Sub Main()
    Dim i As Integer: Application.ScreenUpdating = False
    With Sheets("Отчет")
        For i = 1 To 1000
            If .Cells(i, 27) = ComboBox2.Text Then .Rows(i & ":" & i + 36).Hidden = False
        Next
    End With
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 21.09.2009, 17:37   #3
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Если я все правильно понял, то можно так:
Код:
Sub Main()
    Dim i As Integer: Application.ScreenUpdating = False
    With Sheets("Отчет")
        For i = 1 To 1000
            If .Cells(i, 27) = ComboBox2.Text Then .Rows(i & ":" & i + 36).Hidden = False
        Next
    End With
End Sub
Как раз мне вот этот код (i & ":" & i + 36) и нужен был.
Полный код выглядит так. Код работает. Может что не правильно?
Код:
Private Sub ComboBox2_Change() 'Открытие диапазона на выбранный месяц
    
    With Sheets("Отчет")
           .Range("P1") = ComboBox2.Text 'Ввод текста в ячейку (месяц)
    Dim i As Integer
    
    For i = 1 To 1000

        If .Cells(i, 27).Text = ComboBox2.Text Then 'Поиск ячейки, по совпвдению текстов
           .Rows(i & ":" & i + 36).Hidden = False ' Открытие диапазона
           .Range("N4") = "Потери " & .Cells(i, 23) & " %" 'Ввод текста в ячейку (процент потерь)

            Unload Me 'Закрыть фориу
            Sheets("Отчет").Visible = True 'Открыть лист
            Sheets("V_ГСМ").Visible = False 'Скрыть лист
        End If
    Next
    End With
End Sub

Последний раз редактировалось segail; 21.09.2009 в 18:04.
segail вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диапазон limon Помощь студентам 5 06.09.2008 21:44
Как написать в коде чтобы диапазон А копировался как значение в диапазон В. Dorvir Microsoft Office Excel 12 23.05.2008 22:11
диапазон времени chekanoff БД в Delphi 34 02.03.2008 01:28
неразрывный диапазон zetrix Microsoft Office Excel 0 31.10.2006 07:26