dポイントプレゼントキャンペーン実施中!

エクセルのあるシートにテキストボックスが100個張り付いてます。
番号は1から100です。
このテキストボックスの番号を21から120に変更するマクロを教えて下さい。
(テキストボックスの番号とは、テキストボックスを選択した時に名前ボックスに表示される番号のことです)

A 回答 (2件)

最近の私の経験。


ご存知でしたら、お許しを。
シートに四角形を1つ貼りつけました。
「テキストボックスを選択した時に名前ボックスに表示される番号」は「四角形 1」ですが、
Sub test03()
MsgBox ActiveSheet.Shapes(1).Name
ActiveSheet.Shapes(1).Name = "abc"
MsgBox ActiveSheet.Shapes(1).Name
End Sub
の実行で出てくるのは、「Rectangle 1」です。
オブジェクトの捉え方(記述法)でご注意。
プログラムで、名前指定方式を使うなら、Rectangle 1を使わなければならないように思います。
インデックス方式は、貼りつけ順序番号で、途中削除があって、欠番があるとややこしい(実質使えない)ですね。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2003/08/31 01:38

テキストボックス1から100まで順序正しく作られている(e.g. テキストボックス20がShapes(20)。

)として、

For k = 100 to 1 step -1
ActiveSheet.Shapes(k).Name = "テキストボックス " & CStr(k + 20)
Next

――みたいな感じ。
詳しくはヘルプの「Shape オブジェクト」をご覧ください。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2003/08/31 01:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!