Как выделить текстовое поле и изменить его размер с помощью VBA? - PullRequest
0 голосов
/ 01 марта 2020

Я пытаюсь изменить размер текстового поля с помощью VBA. Но для этого мне нужно каждый раз менять номер прямоугольника в VBA, который не служит цели VBA. Мне нужно изменить размер выбранного текстового поля на основе значения в других ячейках. Я добавляю текстовое поле для изменения размера кода VBA здесь:

 Sub ResizeTextBox()
    Dim shp As Shape
    Set shp = ActiveSheet.Shapes("Rectangle 39")
    shp.Height = Application.CentimetersToPoints(Range("Y5").Value)
    shp.Width = Application.CentimetersToPoints(Range("Y6").Value)
End Sub

Не могли бы вы помочь мне разработать код, который будет изменять размер выбранного текстового поля на основе значения в ячейке Y5 и Y6 Спасибо .

1 Ответ

0 голосов
/ 01 марта 2020

Вы можете сделать что-то вроде этого:

Sub ResizeTextBox()
    Dim shp As Shape

    'check a range is not selected
    If TypeName(Selection) <> "Range" Then
        With Selection
            .Height = Application.CentimetersToPoints(Range("Y5").Value)
            .Width = Application.CentimetersToPoints(Range("Y6").Value)
        End With
    Else
        MsgBox "First select a a shape for resizing"
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...