• ベストアンサー

連番を変更するマクロ

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

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.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を使わなければならないように思います。 インデックス方式は、貼りつけ順序番号で、途中削除があって、欠番があるとややこしい(実質使えない)ですね。

tpxokn
質問者

お礼

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

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

テキストボックス1から100まで順序正しく作られている(e.g. テキストボックス20がShapes(20)。)として、 For k = 100 to 1 step -1 ActiveSheet.Shapes(k).Name = "テキストボックス " & CStr(k + 20) Next ――みたいな感じ。 詳しくはヘルプの「Shape オブジェクト」をご覧ください。

tpxokn
質問者

お礼

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

関連するQ&A