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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2017, 18:33   #1
Oleg778
Пользователь
 
Регистрация: 07.11.2016
Сообщений: 11
По умолчанию Выделение ячеек в соседних листах по циклу

Привет всем !

Не могу справится с макросом

1)Находясь на исх листе в активной ячейке - запомнить имя листа и адрес активной ячейки
2)Перебором в цикле на соседних листах активировать ячейки по одному и тоже адресу
3)Вернутся на запомненный лист в запомненную ячейку

Код макроса прилагаю - ни в какую не хочет выделять ячейки на соседних листах

Код:
Sub Проверка()
'запоминаем лист и адрес активной ячейки исх листа
sName = ThisWorkbook.ActiveSheet.Name
z = ActiveCell.Address(0, 0)
'MsgBox sName & z
'перебираем листы по циклу и в каждом активирум свою ячейку по одному адресу
Dim i As Long, s As String
    For i = ThisWorkbook.Worksheets.Count To 1 Step -1
        With ThisWorkbook.Worksheets(i)
           'ThisWorkbook.Worksheets(i).Cells(4, 3).Value = ThisWorkbook.Worksheets(i).Cells(4, 3).Value
           'ThisWorkbook.Worksheets(i).Cells(4, 3).Value = 5
           'ThisWorkbook.Worksheets(i).Range(Cells(4, 3), Cells(4, 3)).Activate
           'Range(Cells(4, 3), Cells(4, 3)).Select
           
        End With
Next
'возвращаемся на запомненный лист в запомненную ячейку
Worksheets(sName).Range(z).Select
End Sub
Oleg778 вне форума Ответить с цитированием
Старый 22.01.2017, 18:48   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub ActivateSameCells()
  Dim adr$, shN&, ws As Worksheet
  adr = ActiveCell.Address:  shN = ActiveSheet.Index
  For Each ws In Worksheets
    ws.Activate: Range(adr).Select
  Next
  Worksheets(shN).Activate
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.01.2017, 18:49   #3
Oleg778
Пользователь
 
Регистрация: 07.11.2016
Сообщений: 11
По умолчанию

вот так получилось
Код:
Sub Проверка()
'запоминаем лист и адрес активной ячейки исх листа
sName = ThisWorkbook.ActiveSheet.Name
z = ActiveCell.Address(0, 0)
'MsgBox sName & z
'перебираем листы по циклу и в каждом активирум свою ячейку по одному адресу
Dim i As Long, s As String
    For i = ThisWorkbook.Worksheets.Count To 1 Step -1
        With ThisWorkbook.Worksheets(i)
            ThisWorkbook.Worksheets(i).Activate
            ThisWorkbook.Worksheets(i).Range(Cells(4, 3), Cells(4, 3)).Activate
        End With
Next
'возвращаемся на запомненный лист в запомненную ячейку
Worksheets(sName).Range(z).Select
End Sub
Oleg778 вне форума Ответить с цитированием
Старый 22.01.2017, 21:58   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Альтернативный вариант :

Код:
Private Sub Test()
    Worksheets.Select
    ActiveSheet.Select
End Sub
pashulka вне форума Ответить с цитированием
Старый 23.01.2017, 10:32   #5
Oleg778
Пользователь
 
Регистрация: 07.11.2016
Сообщений: 11
По умолчанию

спасибо за ответы мой вариант не сработал как надо
подошли варианты от IgorGO и pashulka большое спасибо
а как сделать в варианте IgorGO
чтобы сохранился запомненный адрес и имя листа
а на остальных листах активировались ячейки D4
после этого переходим в исх сохраненный лист в сохраненную ячейку ?

Так не хочет возвращаться в исходную ячейку
Код:
Sub ActivateSameCells()
  Dim adr$, shN&, ws As Worksheet
  adr = ActiveCell.Address:  shN = ActiveSheet.Index
  For Each ws In Worksheets
    ws.Activate: Range("D4").Select
  Next
  Worksheets(shN).Activate
End Sub

Последний раз редактировалось Oleg778; 23.01.2017 в 15:51.
Oleg778 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск одинаковых ячеек в нескольких листах. R-oksana Microsoft Office Excel 5 11.12.2016 00:36
Закраска соседних ячеек StringGrid Jekasea Общие вопросы Delphi 12 14.01.2014 19:57
Объединение пустых ячеек по содержанию соседних столбцов OlgaK Microsoft Office Excel 12 28.08.2013 18:29
Минёр на Java под Android. Алгоритм открытия соседних ячеек. MeTeOpA Java для Web (EE, Servlet, JSP, Tomcat, Spring MVC) 1 10.07.2013 04:23
Удаление содержимого соседних ячеек после ввода данных. KOSTIK1 Microsoft Office Excel 3 29.12.2009 16:53