次の方法で共有

別のファイルのシート名をリンク形式で目次化するVBAについて

Anonymous
2018-05-02T00:53:47+00:00

お世話になっております。

1.やりたい事

 1)ファイル(ブック):A,B,C,D,E 等(5つ以上のファイル)が存在します。

 2)各ファイルに10以上のシートが存在します(各シートとも複雑な計算式が入っています)。

 3)各ファイルの各シート名の目次をリンク形式で一つのファイル(新たなブック)に作成したい次第です。

2.試した事

  インターネットで検索し、以下のVBAを試した結果、目次はできるのですがリンク形式になりません。

Sub aa()

 Dim i As Long, wb As Worksheet

 Workbooks.Open Filename:="C:\test0502\20180502aa.xlsm"

  i = 1

  For Each wb In ActiveWorkbook.Worksheets

     ThisWorkbook.Worksheets("Sheet1").Range("A" & i).Value = wb.Name

    i = i + 1

  Next

End Sub

3.教えていただきたこと

 リンク形式するために、VBAをどのように書き換えればよいか教えてください。

よろしくお願いします。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2018-05-02T06:48:15+00:00

https://excwlvba.blogspot.jp/2016/10/blog-post.html

「VBA ハイパーリンクの設定」

を参考にしてマクロを作ってみました。

Sub aa()

    Dim i As Long, wb As Worksheet

    Dim dstbook As Workbook, mybook As String

    mybook = "C:\test0502\20180502aa.xlsm"

    Set dstbook = Workbooks.Open(mybook)

    With ThisWorkbook.Sheets(1)

        For i = 1 To dstbook.Sheets.Count

            .Range("A" & i).Value = dstbook.Sheets(i).Name

            .Hyperlinks.Add Anchor:=.Range("A" & i), _

            Address:=mybook, SubAddress:=dstbook.Sheets(i).Name & "" & "!A1", _

            TextToDisplay:=dstbook.Sheets(i).Name

        Next i

    End With

    dstbook.Close False

End Sub

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2018-05-02T07:18:37+00:00

    お世話になります。

    マクロを作成いただき誠にありがとうございます。

    作成いただいたマクロを実行の結果、完璧でした。

    今後ともよろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません