Execl2007のテキストボックス(コントロールではない)に任意の名前を付ける | えちゆちのめもめも

えちゆちのめもめも

覚え書きです。

Excel2007で縦書きとか横書きとかできるテキストボックス(コントロールではない)って名前を付けるプロパティが見当たらないんでVBAでちょっとテキストボックスの中身のテキストを操作しようとするとどうしたもんだかと思っていたらどうやら名前をつける方法があったみたいなのでメモ。

まずテキストボックスをExcelシートに張る。

で、テキストボックスの枠をダブルクリック。すると書式メニューがでるので黒丸内をクリック。

右端に枠が出てくるので黒丸内をクリック

テキストボックスの名前を変更する。

で、サンプルコード(一部抜粋)はこんな感じ。

    Dim b As String
    
    Sheet2.Shapes("SampleName").Select
    
    b = Selection.Characters.Text
    
    b = Replace(b, "変更 年 月 日", "変更H25年08月20日")
    
    Selection.Characters.Text = b

細かく検証してないのでこれで本当良いのかどうかは不明。取り急ぎめものみ。

と、その後いろいろネットで調べてみたら、画面の左上のセルの位置がC2とか表示されてる欄に名前を入れれば設定できるということみたい。テキストボックスとかはもとよりセルにも名前が付けられるようだ。こりゃ便利だ!

で、削除はリボンの「数式」の「名前の管理」というでかいアイコンをクリックすると名前の一覧が出てくるのでそこで削除等できる。画面の左上の表示では削除等はできない。

本格的にExcelでマクロとか組んだことがなかったので目からうろこ。
あと、ローカル名とかグローバル名とか種類もあるみたい。もう少しちゃんと調べましょう。

いじょ