Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выбор листа по условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выбор листа по условию (Макросы/Sub)
Выбор листа по условию
light26 Дата: Четверг, 21.10.2021, 16:08 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1346
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Доброго времени суток всем.
Макрорекордером такое не запишешь, поэтому прошу помощи тут.
Задача делать активным лист в котором нет никаких значений в заданном диапазоне.
На просторах интернета нашел примерно подходящий код
[vba]
Код
Sheets(1).Select
If Error Resume Next
Set fcell = Range("E7:O21").Find("искать нужно пустые ячейки")

If Not fcell Is Nothing Then

Sheets(1).Select.Next (то есть если в заданном диапазоне есть заполненные ячейки, выбери следующий лист)

End If
Set fcell = Range("E7:O21").Find("пустые ячейки")

If Not fcell Is Nothing Then

Sheets(1).Select.Next
[/vba]

Ну и так далее до тех пор пока не найдет лист, где в указанном диапазоне нет никаких значений. Если перебрали все листы и нет листов, отвечающих условию, то выбрать последний лист.


Я не волшебник. Я только учусь
 
Ответить
СообщениеДоброго времени суток всем.
Макрорекордером такое не запишешь, поэтому прошу помощи тут.
Задача делать активным лист в котором нет никаких значений в заданном диапазоне.
На просторах интернета нашел примерно подходящий код
[vba]
Код
Sheets(1).Select
If Error Resume Next
Set fcell = Range("E7:O21").Find("искать нужно пустые ячейки")

If Not fcell Is Nothing Then

Sheets(1).Select.Next (то есть если в заданном диапазоне есть заполненные ячейки, выбери следующий лист)

End If
Set fcell = Range("E7:O21").Find("пустые ячейки")

If Not fcell Is Nothing Then

Sheets(1).Select.Next
[/vba]

Ну и так далее до тех пор пока не найдет лист, где в указанном диапазоне нет никаких значений. Если перебрали все листы и нет листов, отвечающих условию, то выбрать последний лист.

Автор - light26
Дата добавления - 21.10.2021 в 16:08
Kuzmich Дата: Четверг, 21.10.2021, 17:42 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 155 ±
Замечаний: 0% ±

Excel 2003
Цитата
делать активным лист в котором нет никаких значений в заданном диапазоне.

[vba]
Код
Sub tt()
Dim Wsh As Worksheet
For Each Wsh In Worksheets
   Wsh.Activate
   If Application.CountA(Range("E7:O21")) = 0 Then
     MsgBox "На листе: " & Wsh.Name & " нет данных в диапазоне Е7:О21"
     Exit For
   End If
Next
End Sub
[/vba]
 
Ответить
Сообщение
Цитата
делать активным лист в котором нет никаких значений в заданном диапазоне.

[vba]
Код
Sub tt()
Dim Wsh As Worksheet
For Each Wsh In Worksheets
   Wsh.Activate
   If Application.CountA(Range("E7:O21")) = 0 Then
     MsgBox "На листе: " & Wsh.Name & " нет данных в диапазоне Е7:О21"
     Exit For
   End If
Next
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 21.10.2021 в 17:42
RAN Дата: Четверг, 21.10.2021, 17:59 | Сообщение № 3
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Пятница, 22.10.2021, 06:18
 
Ответить
Сообщение.

Автор - RAN
Дата добавления - 21.10.2021 в 17:59
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выбор листа по условию (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!