VBA練習問題解答
練習問題26(全シート処理とハイパーリンク)解答

Excelマクロ練習問題集、エクセルVBAの学習教材
公開日:2013年5月以前 最終更新日:2020-12-21

練習問題26(全シート処理とハイパーリンク)解答

マクロVBA練習問題26の解答ページです。

マクロVBA練習問題

全シートのハイパーリンク付き一覧を先頭シートに作成します。

現在のブックの先頭に新規シートを追加し、
既存シートのシート名一覧をハイパーリンク付きで作成して下さい。

※これは実務においても非常に良く発生する要求です。

練習問題用のExcelファイル

では、お考えください。
すぐに解答を見ずに、必ず自力で書けるとこまででも良いので書きましょう。

シンキングタイム

シンキングタイム開始


シンキングタイム終了

当サイトのコンテンツ
ExcelマクロVBA入門
この「VBA入門」シリーズは、マクロVBAを習得し、日々のExcel作業を効率化・自動化できるようになることを目指します。VBAが初めての方でも無理なくステップアップできるよう、基礎から丁寧に、そして段階的に解説を進めます。そのため、シリーズ後半では入門レベルに留まらず、実務レベルで通用する高度なテクニックや幅広い知…

書くべきマクロVBAが分からない時は、
ここでじっくり勉強してから再チャレンジしてください。

マクロVBA練習問題解答

では解答のマクロVBAコードです。

Sub 練習問題26_1()
  Dim i As Long
  Dim j As Long
  Dim ws As Worksheet
  Set ws = Worksheets.Add(Before:=Worksheets(1))
  j = 1
  For i = 2 To Worksheets.Count
    ws.Hyperlinks.Add Anchor:=ws.Cells(j, 1), Address:="", _
             SubAddress:="'" & Replace(Worksheets(i).Name, "'", "''") & "'!A1", _
             TextToDisplay:=Worksheets(i).Name
    j = j + 1
  Next
End Sub

Sub 練習問題26_2()
  Dim i As Long
  Dim j As Long
  Dim ws As Worksheet
  Worksheets.Add Before:=Sheets(1)
  j = 1
  For Each ws In Worksheets
    With Worksheets(1)
      If ws.Index > 1 Then
        .Hyperlinks.Add Anchor:=.Cells(j, 1), Address:="", _
                SubAddress:="'" & Replace(ws.Name, "'", "''") & "'!A1", _
                TextToDisplay:=ws.Name
        j = j + 1
      End If
    End With
  Next
End Sub

2通り紹介しましたが、
このような場合にFor Eachを使うと、
どうしても2番目のシートからという記述が面倒になってしまいます。
前後に他の処理がある場合は、適宜どちらで書くか判断して下さい。

シート名には、シングルクォート(')を忘れずに付けるようにしましょう。
これらを忘れると、シート名に空白や記号があると、正しくハイパーリンクが設定されません。
また、頻度は少ないと思いますが、シングルクォート(')を含むシート名対策として、シングルクォート(')は連続シングルクォート('')に置換してください。

これは、実務においても非常に良く発生しますので、さくっと書けるようにしておきましょう。




同じテーマ「マクロVBA練習問題解答」の記事

練習問題23(総合練習5)解答
練習問題24(再帰呼出し)解答
練習問題25(各種VBA関数)解答
練習問題26(全シート処理とハイパーリンク)解答
練習問題27(データ分割し別ブック保存)解答
練習問題28(シートを別ブックにして値のみにする)解答
練習問題29(ロット引き当て)解答
練習問題30(マトリックス→リスト形式)解答
練習問題31(セル結合を解除して値を埋める)解答
練習問題32(連続数値部分を取り出し記号で連結)解答
初級脱出10問パック解答


新着記事NEW ・・・新着記事一覧を見る

「Python in Excel」入門:コードを読むための基礎知識|エクセル関数応用(2026-09-10)
M言語入門:Power Queryのコードを読むための基礎知識|Power Query(M言語)入門(2026-09-09)
Excelの正規表現関数(REGEXTEST・REGEXREPLACE・REGEXEXTRACT)の使い方|エクセル関数応用(2026-09-08)
スピルとVBA(Formula2とスピル範囲の取得)|VBA入門(2026-09-08)
「Withの功罪」:コードを読みやすくする強力な道具と、その落とし穴|VBA技術解説(2026-09-03)
可変長配列をVSTACKする4つの方法|REDUCE・Thunk・チャンク・再帰分割|エクセル関数応用(2026-09-01)
Excel表とMarkdownテーブルを相互変換する数式|エクセル関数応用(2026-08-24)
「Python in Excel」数独(ナンプレ)解法プログラムの移植と最適化|エクセル関数応用(2026-08-14)
「Python in Excel」で自作関数を登録|アンピボット関数と計算順序|エクセル関数応用(2026-08-12)
ListBox・ComboBoxをマウスホイール対応させる|ユーザーフォーム入門(2026-08-09)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.Excelショートカットキー一覧|Excelリファレンス
5.RangeとCellsの使い方|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.マクロとは?VBAとは?VBAでできること|VBA入門
8.繰り返し処理(For Next)|VBA入門
9.メッセージボックス(MsgBox関数)|VBA入門
10.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ