Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5757 / 13645 ツリー ←次へ | 前へ→

【49028】セルからアドレスを抽出するには? サフラン 07/5/21(月) 13:28 質問[未読]
【49030】Re:セルからアドレスを抽出するには? Jaka 07/5/21(月) 13:53 発言[未読]
【49046】Re:セルからアドレスを抽出するには? サフラン 07/5/21(月) 17:54 お礼[未読]
【49059】Re:セルからアドレスを抽出するには? サフラン 07/5/22(火) 9:20 質問[未読]
【49067】Re:セルからアドレスを抽出するには? ハチ 07/5/22(火) 12:46 回答[未読]
【49068】Re:セルからアドレスを抽出するには? ハチ 07/5/22(火) 12:49 発言[未読]
【49069】Re:セルからアドレスを抽出するには? サフラン 07/5/22(火) 13:10 お礼[未読]

【49028】セルからアドレスを抽出するには?
質問  サフラン  - 07/5/21(月) 13:28 -

引用なし
パスワード
   お世話になります。

Range("A1").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, _
  Address:="xxxxx", _
  TextToDisplay:="yyyyy"

のようにして書き込まれたセルから、アドレス部分を抽出するには
どうしたらいいでしょうか。

よろしくお願いいたします。

【49030】Re:セルからアドレスを抽出するには?
発言  Jaka  - 07/5/21(月) 13:53 -

引用なし
パスワード
   MsgBox Range("A1").Hyperlinks(1).SubAddress
???

【49046】Re:セルからアドレスを抽出するには?
お礼  サフラン  - 07/5/21(月) 17:54 -

引用なし
パスワード
   ▼Jaka さん:
>MsgBox Range("A1").Hyperlinks(1).SubAddress
>???

Jakaさん、ありがとうございます。解決しました。
SubAddressではなく、Addressとすることによってアドレス部分を抽出できました。

ありがとうございました。

【49059】Re:セルからアドレスを抽出するには?
質問  サフラン  - 07/5/22(火) 9:20 -

引用なし
パスワード
   アドレスを抽出すること自体はできましたが、うまくいきません。
実際は、セルをスキャンして、ハイパーリンクがあったら何かをする、という
ルーチンを実現したいのですが、

For I = 1 to 10
  For J = 1 to 10
    link = Worksheets("xxxx").Cells(I, J).hyperlinks(1).Address
    ……

アドレスが埋まってなければlinkにはnullが入ると想定したのですが、こうすると
ハイパーリンクが埋まっていないセルで、エラー9(インデックスが有効範囲に
ありません)が出て止まってしまいます。

エラーハンドリングで細工する以外に、たとえば、リンクが埋まってるかどうかを
チェックするような方法って、ないですかね?

【49067】Re:セルからアドレスを抽出するには?
回答  ハチ  - 07/5/22(火) 12:46 -

引用なし
パスワード
   ▼サフラン さん:
>
>エラーハンドリングで細工する以外に、たとえば、リンクが埋まってるかどうかを
>チェックするような方法って、ないですかね?

始めからHyperlinkのループを回せば良いのではないでしょうか?

'例)ActiveSheetのA1:A10でHyperlinkを処理する
Sub Test()
  Dim HL As Hyperlink

  For Each HL In ActiveSheet.Range("A1:A10").Hyperlinks
    MsgBox HL.Address
    MsgBox HL.Range.Address
  Next HL
End Sub

【49068】Re:セルからアドレスを抽出するには?
発言  ハチ  - 07/5/22(火) 12:49 -

引用なし
パスワード
   すいません。
ちょっと質問されている内容からズレてました。
こんな感じですか?

Sub Test2()
  If ActiveCell.Hyperlinks.Count > 0 Then
    MsgBox "リンクあり"
  End If
End Sub

【49069】Re:セルからアドレスを抽出するには?
お礼  サフラン  - 07/5/22(火) 13:10 -

引用なし
パスワード
   >  If ActiveCell.Hyperlinks.Count > 0 Then


ハチさん、ありがとうございます。有無の判定ができました。
助かりました。

ありがとうございました。

5757 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free