現在、既存の「コンテンツ」シートにハイパーリンクを追加することにより、既存のマクロ対応ブックの機能を拡張しようとしています。ワークブックは、ダッシュボードのように機能します。「コンテンツ」シートのボタンコマンドは、リモートソースからテンプレートをプルするマクロをアクティブにし、追加された場所で識別しながらシート名を一意に変更し、ローカルブックにコピーして更新します内容が追加されたコンテンツシートの場所リストの一番下に表示されます。有効な複数の有効な参照を含むTOCハイパーリンクの追加
問題は、場所間で同じ計算が繰り返し実行され、同じブックで30枚までの場所がある場合に発生します。特定の場所に必要な特定の計算を見つけるために、エンドユーザーがすべてのタブをクリックするのに時間がかかります。それで、私が望んでいたのは、問題の場所に関連する最初の計算にリンクするコンテンツページにハイパーリンクを作成することでした。例えば
、ロケーションAロケーションB 4.どのように関連する場所のための最初の計算を含むシート識別するを有するが、それに関連付けられた3つの異なる計算を持って?
私の考えは:はブック全体を通して、その後、グループ化シートという名前場所X(Calcのn)を反復処理し、それはコンテンツシートをソートし、新しい場所を追加することにより実現し:私は、ソートのコード(下記参照EDIT)を持っています目次シート上の新しい順序に基づいてワークシートのグループをワークブックの後ろにプッシュすることができます。私はこれがハイパーリンクを挿入する理想的な場所だと思っていますが、どうやってそれをどうやって行くのかは分かりません。おそらく宣言し、現在選択されている場所の値を文字列変数に代入し、論理比較を行い、その場所に割り当てられたシートの数を数え、場所名が変わったときにカウンタをリセットし、ハイパーリンクのアンカーカウンタは0ですか?
EDIT:
Dim Group_Sheets As Worksheet
Dim wSheet As Variant
Dim SortRng, rng As Range
Set SortRng = Range(Range("A6"), Range("A6").End(xlDown))
For Each rng In SortRng
ReDim wSheet(0)
For Each Group_Sheets In ThisWorkbook.Worksheets
If Left(Group_Sheets.Name, Len(rng)) = rng Then
wSheet(UBound(wSheet)) = Group_Sheets.Name
ReDim Preserve wSheet(UBound(wSheet) + 1)
End If
Next
ReDim Preserve wSheet(UBound(wSheet) - 1)
With Worksheets(wSheet)
.Select
.Move after:=Worksheets(Worksheets.Count)
End With
Next
だから私は、そのアドレスの場所を追加する際のテンプレートからコピーされた最後のシートであるハイパーリンクを追加することによって、一時的な回避策を作りました。ただし、エンドユーザーがリンクされている計算を削除してもハイパーリンクを更新することはできないため、これは理想とは限りません。この結果を見て、私は最後のシートを使うことも受け入れられるだろうと信じています。その答えが顔の中で私を見つめているように感じる...私はそれを見ることができない。 –