■
テキストボックス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