+ Excel選択範囲のテキストをテキストボックスに
created 2012-04-17 modified 2012-04-17
Excel2003 (w で、選択範囲に書いてあるテキストを一発でテキストボックス化するマクロ。
Sub 箱追加(テキスト, 横, 縦, 幅, 高) ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 横, 縦, 幅, 高).Select Selection.Characters.Text = テキスト With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .Orientation = xlHorizontal .AutoSize = True .AddIndent = False .Placement = xlMove .PrintObject = True End With With Selection.Characters(Start:=1, Length:=Len(テキスト)).Font .Name = "MS UI Gothic" .Size = 11 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With Range("A1").Select End Sub Sub 選択範囲のテキストを箱にする() If TypeName(Selection) <> "Range" Then MsgBox "セルを選択してください" Exit Sub End If テキスト = "" 横位置 = 10# 縦位置 = 10# 幅 = 60# 高 = 20# 横ステップ = 0# 縦ステップ = 20# For Each セル In Selection.Cells テキスト = セル.Value If テキスト <> "" Then 箱追加 テキスト, 横位置, 縦位置, 幅, 高 横位置 = 横位置 + 横ステップ 縦位置 = 縦位置 + 縦ステップ End If Next End Sub
メモ帳とかで書いたべたテキストを、図にしたいことがある。そういうときに使うマクロ。
準備
- このマクロ用のxlsファイルを作り(例:箱つくる.xls)
- "標準モジュール" にマクロ追加する。
- ツール - マクロ - Visual Basic Editor を選択、
- "VBAProject (箱つくる)" を右クリック - 挿入 - 標準モジュール
- エディタが出るので、ソースをコピペ
- マクロ "選択範囲のテキストを箱にする" をツールアイコンに設定しておく
- ツール - ユーザ設定 を選択。
- ユーザ設定画面、コマンド タブ で
- マクロ - ユーザ設定ボタン をメニューバーのどこかにドロップし、
- (ユーザ設定画面)は消さずに
- 右クリック - マクロの登録 を選択。
- 範囲選択のテキストを箱にする を選択、OKクリック。
使うとき
- 目的のExcelファイル と、"箱つくる.xls" を開いておく
- 目的のExcelファイルのセルにテキストをペーストして、
- 適当に範囲選択して、
- ツールアイコンを押下。
- テキストボックスがポコポコとできるので、
メモ
- ツール - マクロ - セキュリティ 画面、"セキュリティ レベル" タブ で "中" にしないと動かないかも。
- Excel 2003 では動いてます。ほかのバージョンはまだ持ってないんです(泣
- 持論にしたがい、日本語識別子にしてみました。