4

数式で生成されるExcelハイパーリンクにバグがあるようです。私はExcel2010を使用しています。URLを含むセルを含むスプレッドシートがあり、目標は次の2つのことを行うことです。

  1. これらのセルをハイパーリンクに変換します。
  2. マウスを使用する必要がないように、これらのハイパーリンクを開くためのキーボードショートカットを作成します。

#1を行うために、最初は関数を使用しました=HYPERLINK()。したがって、私のURLは列Aにあり、この式を使用して列にハイパーリンクを作成しましたB

#2を実行するために、キーボードショートカットでハイパーリンクを開く次のマクロを作成しましたCtrl+ H

Sub Open_Hyperlink()
'
' Open_Hyperlink Macro
'
' Keyboard Shortcut: Ctrl+h
'
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub

問題は、このマクロが数式を使用して作成されていないハイパーリンクでのみ機能するように見えることです。たとえば、セルに入力するだけの場合http://www.google.com、Excelはこれを自動的にハイパーリンクにし、キーボードショートカットマクロは機能しますが、数式で生成されたハイパーリンクは機能しません。

また、数式で生成されたハイパーリンクを右クリックすると、ドロップダウンメニューにハイパーリンクを開くオプションがありませんが、数式で生成されていないハイパーリンクを右クリックすると、そのオプションが表示されます。

次の回避策を見つけました。数式を使用してハイパーリンクを生成するのではなく、ここで見つけたマクロを使用しました。

Sub HyperAdd()

'Converts each text hyperlink selected into a working hyperlink

For Each xCell In Selection
    ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula
Next xCell

End Sub

キーボードショートカットを使用して、このマクロで生成されたハイパーリンクを開くことができます。誰かが同様の問題を抱えているのか、それとも同じような問題を抱えているのか、そしてなぜ数式で生成されたハイパーリンクが機能しないのか疑問に思っています。将来的には数式を使用してハイパーリンクを作成する方が簡単なので、マクロを使用してハイパーリンクを作成しないようにする方法を知っている人がいれば、本当にありがたいです。

4

1 に答える 1

6

誰かが同様の問題を抱えているのではないか、そしてなぜ数式で生成されたハイパーリンクが私のために機能しないのか疑問に思っています。

残念ながら、これは辛い真実のようです。ExcelはHyperlinksコレクション式で生成されたリンクに追加しません-以下は、ポイントされているデバッガーからの画面です=HYPERLINK("http://www.google.com/";"Google")

セルハイパーリンクコレクション

これが意図的な実装なのかバグなのかはわかりませんが、数式で生成されたリンクをHyperlinks().Followメソッドを使用して開くことはできません。

ただし、リンクを開くためにキーボードショートカットを使用する場合は、次のコードを使用するだけです。クリック可能なリンクで選択されたセルテキストに自動的に変換され、開きます。

Sub Open_Hyperlink()
    Selection.Hyperlinks.Add Anchor:=Selection, Address:=Selection.Formula
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End Sub

ショートカットを割り当てるだけで、準備が整います)サンプルは次のとおりです:https ://www.dropbox.com/s/d4cie7lun22quma/FollowLinks.xlsm

それがなんとか役立つことを願っています。幸運を!

于 2013-01-20T09:06:30.183 に答える