Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 12.06.2018, 15:53   #31
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Адрес: УКРАЇНА, Київ
Сообщений: 8,974
Репутация: 1710

icq: 7934250
skype: i2x0,5
По умолчанию

1. Приведенный выше макрос не останавлмваеися на первой пустой ячейке, а проходит по всех ячейках диапазона D5:F5 (по всех 3-х)
2. если Вы чуть подробнее расскажете при добавлении каких значений и куда добавлять "Смена", то обязательно найдутся люди, которые смогут Вам рассказать как это сделать
__________________
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO на форуме   Ответить с цитированием
Старый 12.06.2018, 18:39   #32
autostavrroute
Пользователь
 
Регистрация: 07.06.2018
Сообщений: 28
Репутация: 10
По умолчанию

Код:

Sub Кнопка40_Щелчок()
'Смены
 Dim col As New Collection, c As Range, i&, k&

 For Each c In Sheets("График").Range("D5:F5").Cells
       If c.Value <> "" Then col.Add Trim(c) & "Смена"
       
 Next

 ReDim arr(0 To col.Count - 1)
 For i = 1 To col.Count: arr(i - 1) = col(i): Next
 Worksheets(arr).Select
End Sub

Вот так сделал, работает.
autostavrroute вне форума   Ответить с цитированием
Старый 12.06.2018, 20:26   #33
autostavrroute
Пользователь
 
Регистрация: 07.06.2018
Сообщений: 28
Репутация: 10
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
1. Приведенный выше макрос не останавлмваеися на первой пустой ячейке, а проходит по всех ячейках диапазона D5:F5 (по всех 3-х)
Да все верно. Тоже рабочий макрос. Спасибо
autostavrroute вне форума   Ответить с цитированием
Старый 05.07.2018, 18:11   #34
autostavrroute
Пользователь
 
Регистрация: 07.06.2018
Сообщений: 28
Репутация: 10
По умолчанию

Код:

Sub Кнопка40_Щелчок()
'Смены
 Dim col As New Collection, c As Range, i&, k&
' For Each c In Sheets("График").Range("D5:BA5").Cells

 
For Each c In Sheets("График").Range("D5:BA5", "AF6:CA6").Cells

       If c.Value <> "" Then col.Add Trim(c) & "Смена"
       
 Next

 ReDim arr(0 To col.Count - 1)
 For i = 1 To col.Count: arr(i - 1) = col(i): Next
 Worksheets(arr).Select
End Sub

Хотел добавить обработку ячеек на другой строке, но не разберусь с массивом!
autostavrroute вне форума   Ответить с цитированием
Старый 05.07.2018, 18:27   #35
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,498
Репутация: 5308
По умолчанию

попробуйте так:


Код:

For Each c In Sheets("График").Range("D5:BA5,AF6:CA6").Cells

       If c.Value <> "" Then col.Add Trim(c) & "Смена"
       
 Next

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 04.10.2018, 18:07   #36
autostavrroute
Пользователь
 
Регистрация: 07.06.2018
Сообщений: 28
Репутация: 10
По умолчанию

Подскажите пожалуйста - как доработать чтобы листы не выделялись обработанные в этом алгоритме а скрывались?!
autostavrroute вне форума   Ответить с цитированием
Старый 04.10.2018, 18:27   #37
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,498
Репутация: 5308
По умолчанию

Цитата:
Сообщение от autostavrroute Посмотреть сообщение
Подскажите пожалуйста - как доработать чтобы листы не выделялись обработанные в этом алгоритме а скрывались?!
попробуйте заменить строчку
Цитата:
Код:

Worksheets(arr).Select

на
Код:

Worksheets(arr).Visible = xlSheetHidden

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 04.10.2018, 18:30   #38
autostavrroute
Пользователь
 
Регистрация: 07.06.2018
Сообщений: 28
Репутация: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
попробуйте заменить строчку

на
Код:

Worksheets(arr).Visible = xlSheetHidden

Пробовал говорит так нельзя
autostavrroute вне форума   Ответить с цитированием
Старый 04.10.2018, 19:04   #39
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,498
Репутация: 5308
По умолчанию

так в цикле прячьте:
Код:

 Dim col As New Collection, c As Range, i&, k&
 
 For Each c In Sheets("График").Range("D5:BA5", "AF6:CA6").Cells

       If c.Value <> "" Then col.Add Trim(c) & "Смена"
       
 Next

 For i = 1 To col.Count:  Worksheets(col(i)).Visible = xlSheetHidden : Next

p.s. не проверял!
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 04.10.2018, 19:41   #40
autostavrroute
Пользователь
 
Регистрация: 07.06.2018
Сообщений: 28
Репутация: 10
По умолчанию

Цитата:
p.s. не проверял!
да тоже так уже решил пробовать, думал может как то от массива можно оттолкнуться.
autostavrroute вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выделение нескрытых листов книги Jaroslav Microsoft Office Excel 4 27.05.2014 16:10
VBA - выделение группы листов Tihon Microsoft Office Excel 14 09.01.2013 20:46
Поиск по списку gavrylyuk Microsoft Office Excel 6 25.03.2010 17:24
Загрузка по списку jkpro Работа с сетью в Delphi 23 24.09.2009 17:26
выделение листов по условию Bronyk Microsoft Office Excel 5 11.03.2008 20:40


14:44.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru