2011-10-21 11 views
0

私は2つの列を自動的に生成した(列B)、もう1つは(列D)、自動生成列の手動値はほとんどありません。Excel:自動化された別のセルへのハイパーリンク

B   D 
-------------------- 
1 Col1 Col2 
2 12  14 
3 13  16 
4 14 
5 15 
6 16 
-------------------- 

新しい行の値を入力すると、列Dを自動的にハイパーリンクする必要があります。例: エントリD2は= HYPERLINK( "#B4"、B4)

となります。ここでINDEX & MATCHでB4を計算できますが、自動的にハイパーリンクするにはどうすればいいですか?それは私がD2で14を入力した場合、それは自動的に= HYPERLINK( "#のB4、B4)に置き換え取得する必要があります、と言うことです

答えて

1

あなたはWorksheet_Changeイベントプロシージャを使用する必要があります。このarticle on ozgridthis one on Chip Pearson's websiteを参照し

ような何か:あなたはちょうどあなたが構築したい式を変更する必要が

Private Sub Worksheet_Change(ByVal Target As Range) 
    'Do nothing if more than one cell is changed or content deleted 
    If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub 
    'Trigger the procedure only for the column D 
    If Not Intersect(Target, Range("D:D")) Is Nothing Then 
    'Turn off ALL events so the Target change does not trigger another time this sub 
     Application.EnableEvents = False 
     'Change the formula for what you ever want 
     Target.Formula = "=HYPERLINK(""#B4"", B4)" 
     'Turn events back on 
     Application.EnableEvents = True 
    End If 
End Sub 

+0

おかげで、アプローチが動作するはずです。 –

関連する問題