Страницы: 1
RSS
Выбрать ячейку и получить индекс цвета из другой открытой книги с помощью VBA
 
Всем доброго времени суток!

Есть две книги: одна книга с макросом ("Книга с индексом цвета"), другая ("Книга с цветными ячейками") - с таблицей, ячейки которой закрашены в разные цвета. При запуске макроса с кнопки необходимо выбрать книгу, указать лист и саму ячейку, из которой нужно вытянуть параметр .Cell.Interior.Color и записать данный параметр в книгу на лист "Индекс цвета" в ячейку A1.

Например, в ячейке A2 в "Книге с цветными ячейками" параметр .Cell.Interior.Color соответствует цвету 13382655, этот номер цвета я записываю в "Книгу с индексом цвета"

Попробовал поиграться с объектами ActiveWorkbook, ActiveWorksheet, свойством Selection и т.д., чтобы получить полный адрес ячейки, но при нажатии кнопки в книге "Книга с макросом" активной становится эта книга и соответственно передаются не те параметры, что мне необходимы.

Имя книги с цветными ячейками может меняться. Пользователю необходимо именно самому указать необходимую книгу.

Дайте совет, пожалуйста, как получить индекс цвета. Спасибо заранее.
Изменено: sagertso - 09.03.2021 10:57:21
 
Код
Sub Кнопка1_Щелчок()
Range(Selection.Address).Value = Workbooks(2).Worksheets(1).Range(Selection.Address).Interior.Color
End Sub

*Но много всяких !если: вторая открытая книга должа быть именно та, и именно на первом листе должны быть цвета. И работает только с одной выделенной ячейкой.

Изменено: Shama - 09.03.2021 11:35:22
Не перестаю удивляться возможностям excel и VBA.
 
Shama, у Вас указан явный индекс книги и индекс листа. Необходимо, чтобы пользователь при запуске с кнопки макроса каким-то способом смог указать книгу, лист и ячейку. Ну либо смог в переменную записать полный адрес ячейки. А дальше дело за малым.
 
sagertso, ориентировался на тему - Выбрать ячейку и получить индекс цвета из другой открытой книги с помощью VBA.
Сейчас поправлюсь.

p.s. по мне так, чем меньше пользователь зайдействован в работе, тем лучше)
Не перестаю удивляться возможностям excel и VBA.
 
Пожалуйста, пусть выбирает.

Доп. - про значение в А1 ток щас увидел. Извиняюсь, не выспался  :sceptic: .
Изменено: Shama - 09.03.2021 11:59:49
Не перестаю удивляться возможностям excel и VBA.
 
Shama, спасибо.

В примере я несколько упростил задачу. В книге с закрашенными ячейками меняется имя книги, а также оттенки цветов. В книге с макросом есть таблица, куда вносятся индексы цветов из "Книги с цветными ячейками"

Смысл в том, чтобы пользователь по щелчку кнопки мог сам определить индекс цвета ячейки и вставить в необходимую таблицу в "Книгу с индексом цвета"

Повторюсь, имя книги, листов и адреса ячеек меняются. Т.е. пользователь самостоятельно должен указать книгу, лист и ячейку, из которой нужно получить индекс цвета.
 
Shama, благодарю за помощь!

Всем хорошего дня  :)  
 
sagertso, Да не за что.
Если нужна ячейка для выбора пользователю, куда занести результат - пример во вложении.
Цитата
sagertso написал:
Повторюсь, имя книги, листов и адреса ячеек меняются. Т.е. пользователь самостоятельно должен указать книгу, лист и ячейку, из которой нужно получить индекс цвета.
Это все определяет Application.InputBox.
Не перестаю удивляться возможностям excel и VBA.
Страницы: 1
Наверх