Добрый день. Помогите, пожалуйста, решить задачу или направьте, где можно почитать? Есть значения (в ячейках Excel) длины и ширины. Необходимо выделить эти 2 ячейка, нажать на макрос и чтобы создался (новый) прямоугольник (автофигура) с данными размерами. Как я понимаю, это макрос будет? В идеале нужно сделать для того, чтобы выделять ячейки и быстро создавать автофигуры.
Добрый день. Помогите, пожалуйста, решить задачу или направьте, где можно почитать? Есть значения (в ячейках Excel) длины и ширины. Необходимо выделить эти 2 ячейка, нажать на макрос и чтобы создался (новый) прямоугольник (автофигура) с данными размерами. Как я понимаю, это макрос будет? В идеале нужно сделать для того, чтобы выделять ячейки и быстро создавать автофигуры.Polienko
Такой вариант (хотя да, с Вашим примером было бы удобнее) [vba]
Код
Sub Priamoug() On Error Resume Next If Selection.Cells.Count = 2 Then ad_ = Selection.Address a_ = Selection(1) / 0.03527777777778 b_ = Selection(2) / 0.03527777777778 c_ = Selection(1).Top d_ = Selection(2).Left + Selection(2).Width If Err.Number Then Exit Sub ActiveSheet.Shapes.AddShape(msoShapeRectangle, d_, c_, a_, b_).Select End If Range(ad_).Select End Sub
[/vba] Размеры в сантиметрах. Если нужно в пунктах, то уберите / 0.03527777777778, если в миллиметрах, то измените на / 0.35277777777778. Прямоугольник создается правее второй ячейки на той же высоте Можно жать кнопку и повесил еще на сочетание Контрл +m
Такой вариант (хотя да, с Вашим примером было бы удобнее) [vba]
Код
Sub Priamoug() On Error Resume Next If Selection.Cells.Count = 2 Then ad_ = Selection.Address a_ = Selection(1) / 0.03527777777778 b_ = Selection(2) / 0.03527777777778 c_ = Selection(1).Top d_ = Selection(2).Left + Selection(2).Width If Err.Number Then Exit Sub ActiveSheet.Shapes.AddShape(msoShapeRectangle, d_, c_, a_, b_).Select End If Range(ad_).Select End Sub
[/vba] Размеры в сантиметрах. Если нужно в пунктах, то уберите / 0.03527777777778, если в миллиметрах, то измените на / 0.35277777777778. Прямоугольник создается правее второй ячейки на той же высоте Можно жать кнопку и повесил еще на сочетание Контрл +m_Boroda_
Необходимо выделить эти 2 ячейка, нажать на макрос и чтобы создался (новый) прямоугольник (автофигура) с данными размерами.
если размеры прямоугольника равны размеру выделенных ячеек то так:
[vba]
Код
Sub Квадрос() Dim rng As Range If Selection.Cells.Count = 2 Then Set rng = Selection If rng(1).Row = rng(2).Row Then ActiveSheet.Shapes.AddShape(msoShapeRectangle, rng(1).Left, rng(1).Top, rng(1).Width + rng(2).Width, rng(1).Height).Select Else ActiveSheet.Shapes.AddShape(msoShapeRectangle, rng(1).Left, rng(1).Top, rng(1).Width, rng(1).Height + rng(2).Height).Select End If End If rng.Select End Sub
Необходимо выделить эти 2 ячейка, нажать на макрос и чтобы создался (новый) прямоугольник (автофигура) с данными размерами.
если размеры прямоугольника равны размеру выделенных ячеек то так:
[vba]
Код
Sub Квадрос() Dim rng As Range If Selection.Cells.Count = 2 Then Set rng = Selection If rng(1).Row = rng(2).Row Then ActiveSheet.Shapes.AddShape(msoShapeRectangle, rng(1).Left, rng(1).Top, rng(1).Width + rng(2).Width, rng(1).Height).Select Else ActiveSheet.Shapes.AddShape(msoShapeRectangle, rng(1).Left, rng(1).Top, rng(1).Width, rng(1).Height + rng(2).Height).Select End If End If rng.Select End Sub
_Boroda_, Вы всё верно сделали. Есть ли у Вас возможность немного доделать уже сделанное? пример во вложении И подскажите, пожалуйста, где мне возможно этому начитаться? Книги, журналы? Хочу в этом разбираться, делать самому.
_Boroda_, Вы всё верно сделали. Есть ли у Вас возможность немного доделать уже сделанное? пример во вложении И подскажите, пожалуйста, где мне возможно этому начитаться? Книги, журналы? Хочу в этом разбираться, делать самому.Polienko
_Boroda_, Спасибо! Вы всё сделали идеально верно) Последний вопрос, есть ли у Вас возможность прописать размер шрифта в автофигуре? чтобы он был поменьше, например, 8.
_Boroda_, Спасибо! Вы всё сделали идеально верно) Последний вопрос, есть ли у Вас возможность прописать размер шрифта в автофигуре? чтобы он был поменьше, например, 8.Polienko