Цитата:
Сообщение от Vostorg
можно попросить
|
Просить-то можно, только...
Цитата:
Сообщение от AndrewP
Извини, не могу подробно и с картинками остановиться (сейчас далеко от своего компа).
|
Как только доберусь, так сразу (полагаю через недельку, или около того). Со всеми картинками и пошаговыми инструкциями. А сейчас могу только урывками и давать обьяснения в основном текстом.
Вводом в ячейку можно менять не только высоту прямоугольника, но и рисовать целые параметрические шкафы.
Всё это позволяют делать макросы. Макросы могут быть в модуле и назначаться некоему действию (нажатию сочетания клавиш, нажатию на переключателе, установке флажка и так далее).
Также макросы могут запускаться от других действий (открытия, закрытия книги, при переходе на другой лист в книге и т.п.). Такие макросы записываются не в модуле, а в листе или даже в книге. Вот здесь
Вложение 69762
Представленное в примере 008 изменение высоты прямоугольника в зависимости от значения ячейки выполняется макросом реагирующим на изменение указанного диапазона ячеек листа.
Например, задали, что если что-то поменялось в ячейках [B2:B4] на данном листе, то тут же включается некий макрос. Если же мы изменим значение В6 или других ячеек вне "диапазона срабатывания", то ничего не произойдёт.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lbh As Range: Set lbh = [B2:B4]
'диапазон изменяемых ячеек
If Not Intersect(lbh, Target) Is Nothing Then
' далее, собственно, пишем, что должно происходить, будь чьи шаловливые пальцы чего накалякают в указанных ячейках
' Присваиваем переменной а значение из ячейки "B2" и переводим _
значение ячейки (миллиметры) в единицы размера фигуры
h = Range("B2").FormulaR1C1 / 10
' Присваиваем высоте фигуры "Прямоугольник 1" значение из ячейки "B2"
ActiveSheet.Shapes("Прямоугольник 1").Select
Selection.ShapeRange.Height = h
' И далее, допустим, выделяем ячейку "B2", для нового ввода высоты в ячейку
Range("B2").Select
' Заканчиваем
End If
End Sub
Картинка, где именно в листе прописывается макрос, получилась здесь не очень разборчивой. Чтобы её лучше рассмотреть, я её "отпринскринил" на лист примера 008 и залил во вложение. Также во вложении пример работы макроса со вводом в ячейки и с кнопки (файл "Программа расчёта угловых шкафов (с разными типами макросов)")
Побалуйтесь, поразбирайте примеры.