読者です 読者をやめる 読者になる 読者になる

テキストボックス1個作って、中のテキスト書いて・・・作って、書いて・・・作って、書いてが
いー加減めんどくさいので、選択したセルの中身をテキストボックス化するマクロ作ってみた。


Shapeの形式を四角以外選べるようにとか、塗りつぶし色選択とかも考えたが
ゴテゴテ作ると操作性悪いので全部排除。
10個のセル選んでマクロ起動したら10個テキストボックスができる代物にしてみた。


テキストボックスの大きさと作成する位置が固定なので、そこ調整できると
もうちょい取り回しが楽になるやもしや。


二つ目のRef版はシェイプの中の値を参照式でセルから取ってくるバージョン。
多分こっちのが使い勝手が良い。

Public Sub CreateTextboxAsSelectedCells()

Dim currentSheet As Worksheet
Dim currentShapes As Shapes
Dim selectedRange As Range
Dim i As Integer

Set currentSheet = Application.ActiveSheet
Set selectedRange = Application.ActiveWindow.RangeSelection

For i = 1 To selectedRange.Count Step 1

Set currentShape = currentSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _
100 + i * 5, 100 + i * 5, 200, 50)

currentShape.TextFrame.Characters.Text = selectedRange.Item(i).Value

Next

End Sub 

Public Sub CreateTextboxAsSelectedCellsRef()

Dim currentSheet As Worksheet
Dim currentShapes As Shapes
Dim selectedRange As Range
Dim i As Integer

Set currentSheet = Application.ActiveSheet
Set selectedRange = Application.ActiveWindow.RangeSelection


For i = 1 To selectedRange.Count Step 1

Set currentshape = currentSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _
100 + i * 5, 100 + i * 5, 200, 50)

currentshape.Select
Application.Selection.Formula = selectedRange.Item(i).Address
currentshape.TextFrame.AutoSize = False

Next

End Sub