takayukisの日記 このページをアンテナに追加 RSSフィード

2018.10.23(火)

[]選択範囲の値で1つのシェイプを作る

複数列選択した場合、改行が入って縦に並びます。

Sub 選択範囲の値で1つのシェイプを作る()
    Dim シェイプ As Shape
    Dim 選択範囲 As Range
    Dim セル As Range
    Set 選択範囲 = Selection
    Dim 文字列 As String
    文字列 = ""
    For Each セル In 選択範囲
        If セル.Value <> "" Then
            If 文字列 = "" Then
                文字列 = Trim(セル.Value)
            Else
                文字列 = 文字列 & vbCrLf & Trim(セル.Value)
            End If
        End If
    Next
    Set シェイプ = ActiveSheet.shapes.AddShape(msoShapeRectangle, 選択範囲.Left, 選択範囲.Top, 80, 30)
    シェイプ.TextFrame.Characters.text = 文字列
    シェイプ.TextFrame.AutoSize = True
End Sub

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/takayukis/20181023/1540250470