• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAのシート名称取得について)

VBAでシート名称取得方法とリスト作成方法について

このQ&Aのポイント
  • VBAを使用してシート名称を取得する方法と、シート1にシート名称を一覧表示する方法を解説します。
  • 取得したシート名称をリストに表示する際に、桁数を問わずに正確に表示する方法も紹介します。
  • また、ハイパーリンクを設定して各シートに簡単に移動できるようにする方法も紹介します。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

ANo.1です。 もし、セルの書式を文字列に設定するところまでマクロでやりたいのなら For retsu = 1 To Worksheets.Count の、前に↓を入れてみて下さい。 ThisWorkbook.Worksheets(1).Columns("B").NumberFormatLocal = "@" #リストの範囲が解らないのでB列全体のセル書式を文字列に設定しています。

galsia
質問者

お礼

解説ありがとうございます。 動作確認をしてみます。 幸い今回のブックではB列は文字列にしたかったので、問題ありません。

その他の回答 (2)

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.2

仮に数字が2桁になった場合でも3桁のシートになるので良いでしょうか。 (retsu=10の場合は010) ThisWorkbook.Worksheets(1).cells(gyo + 1, 2) = Worksheets(right("00" & retsu,3)).name

galsia
質問者

補足

回答ありがとうございます。 今回はシート名称に桁をあわせる必要があります。 シート名称が10の場合は10 シート名称が010の場合は010で取得したいです。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

シート名を取得する時は「001」になっていますが、セルに貼り付けた時点で数値扱いになって「1」になっています。 貼り付けるセルの書式を予め文字列に設定しておけば「001」のまま貼り付けられるはずです。

関連するQ&A