0

Excelで別のセルへのハイパーリンクを自動的に作成したい。1 つの列に異なる文字列があり、既存の文字列の名前を別の列に入力すると、最初の列のセルへのハイパーリンクが自動的に必要になります。これは可能ですか?

4

2 に答える 2

0

VSTO を使用している場合:

ThisAddin で SortedList オブジェクトを宣言して、キーワードと範囲アドレスを保持する

Dim keywordList As New SortedList(Of String, String)

Application.SheetChange で、入力した文字列をキャッチできますか。Target.Value と Target.Address を使用できます。

SortedList で Target.Value を検索します。何も見つからない場合は、値と範囲アドレスを使用してリストに新しいエントリを追加します。エントリが既に宣言されている場合は、リストからアドレスを取得し、ターゲットのハイパーリンクを作成します

Public Sub Application_SheetChange(ByVal Sh As Object, ByVal Target As Microsoft.Office.Interop.Excel.Range) Handles Application.SheetChange
   Dim value As String = CStr(Target.Value) 
   If liste.ContainsKey(value) Then
       Dim address As String = String.Empty
       keywordList.TryGetValue(value, address)
       If Not String.IsNullOrEmpty(address) Then
           Target.Parent.Hyperlinks.Add(Target, address)
       End If
   Else
      keywordList.Add(CStr(Target.Value), CStr(Target.Address))
   End If
End Sub
于 2013-06-27T11:40:02.483 に答える
0

あなたが求めたものとは正確には異なりますが、それは仕事をすることができます:

  1. 「test.xlsx」という名前のファイルがあると仮定します
  2. 列「A」に文字列を書きます
  3. 「C」列にハイパーテキストリンクにしたい文字列を書きます
  4. 列「D」に書き込みます=MATCH(C2;A:A;0)
  5. 列「E」に書き込みます=HYPERLINK("[test.xlsx]A"&D2;"GO TO "&C2)

ポイント 4 と 5 は、1 つの数式に統合できます。

イラスト絵

あなたの説明と私の解決策の違いは、隣接するセルにハイパーリンクを作成することです(検索文字列を書き込むセルではありません)

于 2013-06-27T14:27:54.803 に答える