- ベストアンサー
VBAからのHYPERLINK関数のアドレス取得法
end-uの回答
- end-u
- ベストアンサー率79% (496/625)
例えば =IF(G14<>"",HYPERLINK(A1&IF(TEXT(TODAY(),"YY")=(MID(G14,3,2)),"~))","20"&(MID(G14,3,2))&"\")&G14&"Sample.xls", G14&"Sample.xls"),"") こんな数式のような意地悪な事はないと思いますが :) Sub test() Dim flg As Boolean Dim f As String Dim s As String Dim c As Long Dim i As Long f = Selection.Formula c = InStr(f, "HYPERLINK(") If c > 0 Then f = Mid(f, c + 10) c = 0 For i = 1 To Len(f) s = Mid(f, i, 1) If s = """" Then flg = Not flg If Not flg Then Select Case s Case "(" c = c + 1 Case ")" c = c - 1 Case "," If c = 0 Then Exit For End Select End If Next f = Left(f, i - 1) Debug.Print f, Evaluate(f) End If End Sub
関連するQ&A
- Hyperlink関数をクリックしてくれるマクロ
こんにちわ! どなたか教えてくださいませんか? EXCELのセル“A1”にHyperlink関数が入れてありまして、 隣のセル“B1”に入れた文字を組み込んで、URLを生成し、リンクを作るようになっています。 こんな感じです。 =Hyperlink("http://●●●"&[B1]&"●●●/") それで、B1に文字を入れたら、自動的にそのリンク先を開くように、 つまりは、A1にできたリンクをわたしの代わりにクリックしてくれるようなマクロを作りたい のですが、どうすればいいでしょうか? いろいろやってみたのですが、どれもエラーになってしまいまして。 どうかよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセル2003でハイパーリンクのセルからURLアドレスを取得する関数はありますか?
エクセル2003でハイパーリンクのセルからURLアドレスを取得する関数はありますか? ハイパーリンクを作成する関数は、=HYPERLINK("URLアドレス", "表示名称")で可能ですが、この逆で、"URLアドレス"を取得する関数を探しています。 例えばこのセルが、A1にあったとして、B1に =A1とすると、B1には「表示名名称」が表示されます。 C1に「URLアドレス」を表示させるVBAでなく関数が知りたいです。 無ければ、VBAでも構いません。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- マクロにてHYPERLINKのアドレスの取得方法を教えてください。
マクロにてHYPERLINKのアドレスの取得方法を教えてください。 HYPERLINK関数を駆使してリンクを作っています。 =HYPERLINK(CELL("address",INDEX([○○○.xls]△△△シート!$1:$65536,MATCH("文字列",[○○○.xls]△△△シート!$B:$B,),MATCH("文字列",[○○○.xls]△△△シート!4:4,))),表示文字) という感じで別Excelファイルの行と列をMATCH関数を使いアドレスを作成しています。 出来たセルにマウスカーソルを持っていくと [○○○.xls]△△△シート!$AJ$114 アドレスが表示されます。 クリックするとちゃんと飛べます。 アドレスの表示を調べてみたところ Range("A1").Hyperlinks(1).Address というように記述する事で取得出来ると書かれていたので早速試してみたのですが インデックスが有効範囲にありません。と表示されてしまいます。 アドレスを取得するにはどうしたらいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Hyperlink関数をクリックしてくれるマクロ
どなたか詳しい方教えていただけないでしょうか? ExcelのセルA1に以下のhyperlink関数を入れています。 =HYPERLINK(″#C″&MATCH(B1,C:C),″クリック″) 隣のB1に入れた数字を元にC列に存在する同じ数字先にジャンプするように関数を作ってます。 A1にできたリンクをクリックしたは、B1に入力されているものと同じ数字先のC列に飛ぶようにマクロを組みたいのですが、どうしたらいいでしょうか? ハイパーリンク関数がマクロに組み込めないのと色々調べてみましたがうまくいかないのでお手上げです。 どなたか詳しい方教えていただければと思います。 どうぞよろしくお願いします!
- 締切済み
- Excel(エクセル)
- Excell:ユーザー定義関数で、HyperLinkを返したい
エクセルで、ユーザー定義関数を作成しています。 戻り値をHyperLinkにしたいのですが、可能でしょうか? 指定したセルの値を参照して、動的にURLを 作成するところまでは、できたのですが、HyperLinkとして セルに書き戻す事ができません。 下記のように文字列になってしまいます。 =HyperLInk("http://hoge.php?var=10","●") ↑を、リンクとして機能させるには、どうすれば 良いかご存知でしたら、教えて下さい。 ※一旦URLだけを文字として表示させ、 その上に、HyperLink関数をかぶせれば、 目的が達成できることはわかっていますが、 それでは、使い勝手が悪いのです。 どうぞ、よろしくお願い致します。
- 締切済み
- オフィス系ソフト
- エクセルのhyperlink関数を使って、次のように入力したいと思って
エクセルのhyperlink関数を使って、次のように入力したいと思っています。 =HYPERLINK("http://www.aaa.com/1",1) =HYPERLINK("http://www.aaa.com/2",2) =HYPERLINK("http://www.aaa.com/3",3) こういった感じで、連続いくつも入力します。 関数のカンマの後ろの数字については、A1+1 と入力して、セルの右下にマウスを移動させそこからドラッグすればすぐに入力できますが、カンマの前のURLの数字の部分についても連動させたいのです。 どの様にすればいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルVBAで関数が入った空白セルの取得
エクセルVBAで下記のようなセルの参照をしたいのですが、よろしくお願いします。(エクセル2002です) A B C D E F 1 78 80 セル(A1)(B1)には値も関数も入れられています。 セル(C1)(D1)(E1)には値は入っていませんが、ワークシート関数が組み込まれており空白となっています。(関数の""にて空白) セル(F1)には何も入力されていません。 今回はセル(B1)の80の値を取得できるようにVBAで下記のようにコードを組みました。 Range("F1").End(elToLeft).Activate そうすると、セル(E1)に関数があるために(?)(E1)がアクティブな状態となります。 関数が入力されていても空白として(B1)をアクティブな状態にするために良い方法はありますでしょうか? 誠に申し訳ございませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBA セル内の関数の参照先
あるExcel2000のファイル セル A1に20 A2に30 A3に50 A4に10 A5に60 セル B1に30 と表示されています B1の中は =Average(A2:A4) となっています 私はVBAでこのB1の中のAverage関数の参照先を取得したいのですがその方法が分かりません 例えば A=Cells(1,2)や A=Range(B1) としても変数Aは当然ですが30となってしまいます EXCELの関数でセルの中にある関数や参照先を抽出出来るものがないかと探して見ましたが私には見つける事が出来ませんでした。 セルの中にある関数、もしくはその関数の参照先を抽出する方法は無いのでしょうか よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルマクロのVBAでINDEX関数を使う。
エクセルマクロのVBAでINDEX関数を使って値を取得しています。 値を取得したセル番地を取得したいと考えています。 ネットで調べましたが、なかなか思うような内容をヒットできません。 VBAに詳しいかた、ご教授お願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- Excel VBAのVLOOKUP関数について
Excel VBAのVLOOKUP関数について VBAでのVLOOKUPで他のブックを使用する場合の方法がわかりません。 ブックαにて参照したい他のブックβのパスやファイル名、シート、セルは保持しております。 同一ファイル内では取得することができたのですが、他のブックではうまくいきません。 また、VLOOKUP関数にて取得できた場合、取得したセルの下に1段、左に1段目のセルを取得したい場合どうすればいいのでしょうか? 環境はEXCEL2003です。 ご存知の方がいれば教えてください!
- ベストアンサー
- その他MS Office製品
お礼
ご回答ありがとうございます。 Excel 2003にて、少し改造して動作確認したところ、こちらの内容でも動作することを確認しました。 Evaluate関数で計算式の実行結果が見られるのですね。 こちらもExcel 2010での動作確認結果を補足にて報告させていただきます。
補足
こちらについても、Excel 2010でも動作することを確認しました。 ありがとうございました。