回答:
短い答え: VBAなしではこれを自動化できません。
これはWindows 7コンピューター上にあります。ショートカットを対応するMacのショートカットに置き換えるだけです。
これを使用できる人向けのVBAソリューションを次に示します。
次のコードを使用してVBAモジュールを作成します。
Public Function GetURL(c As Range) As String
On Error Resume Next
GetURL = c.Hyperlinks(1).Address
End Function
使用するには、任意のセルに次を入力します。
=GetURL(A1)
A1にはハイパーリンクが含まれます。
仕事中の機能:
これは強引な方法のように聞こえるかもしれませんが、私が思いついた最良の方法です。(このページは、1時間前に同じ質問をしたときに発見しました。1日中探して過ごすこともできましたが、それを行うのが簡単な場合もあります。)
1)新しいスプレッドシートへのハイパーリンクを含むセルのみをコピーして貼り付けます。
2)スプレッドシートをエクスポートし、[ファイルタイプの変更]をクリックし、[別のファイルタイプとして保存]を選択して、Webページ(別名HTMLファイル)として保存します。
3)ブラウザでWebページを開き、ソースを表示します。
4)ソースをコピーしてテキストエディターに貼り付けます。
5)テキストエディターの検索/置換機能を使用して、各ハイパーリンクの先頭および末尾のテキストを削除します。(言い換えれば、上記のテキストを何も置き換えないでください: "")このテキストは各ハイパーリンクで同一でなければならないことに注意してください。
6)これで、ハイパーリンク以外のテキストファイルが作成されました。必要に応じてコピーして元のスプレッドシートに貼り付けるか、任意の場所で使用します。
HTMである別のファイルに実際にエクスポートできることを述べるために編集されました。ファイルを閉じてExcelで再度開くと、問題が解決します。= Hyperlinkの式はなくなり、リンクは通常のリンクに変換されます。この方法は時間を節約し、非常にシンプルで、スクリプトや数式、VBA、マクロを扱う必要がありませんでした。
私はMacを使用していますが、これは私のために働きました:変換する必要がある列を強調表示し、挿入メニューで「ハイパーリンク」を開きます。[表示]ボックスに表示されるテキストを削除します。表示テキストがセル間で異なる場合、「[選択された複数のセル]」と表示されます。[OK]をクリックすると、リンクのみがワークシートに表示されます。列全体ではなく個々のセルを変換する必要がある場合は、変換する必要があるすべてのセルを強調表示し、右クリックして[ハイパーリンクの編集]を選択し、同じ手順に従って[表示]ボックスのテキストを削除します。