[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『リンクを設定』(リンク)
シート1のA列にリンク対象になる語句を設定して
リンク1
リンク2
リンク3
リンク4
リンク5
....
他のシートに同様の語句が含まれていた場合、
そこに対してシート1のA列に対してリンクしたいのですが
どうすればよいでしょうか。
< 使用 Excel:Excel2007、使用 OS:Windows10 >
>>シート1のA列に対してリンクしたい
リンクの方向は シート1 --> 他のシート ですか? それとも 他のシート --> シート1 ですか?
とれと、本件、関数処理ご希望ですか?
(β) 2016/05/18(水) 05:55
ブックベースの名前を定義しておくと、
挿入や削除に伴う位置の変化に耐えうるかもしれませんね。
(1)
関数でやるなら
=HYPERLINK("[Book1.xlsm]リンク1")
ブック名の表示を避けるなら別名も指定して、
=HYPERLINK("[Book1.xlsm]リンク1","リンク1")
(2)
挿入からハイパーリンクを張ったほうが、
名前の一覧が表示されるので楽かも知れない。
(γ) 2016/05/18(水) 06:53
一つのセル内に複数のリンク対象が含まれることはあるのだろうか? もしある場合、その対象ごとにリンクを張りたいということだろうか?
(ねむねむ) 2016/05/18(水) 09:18
そもそも、質問の趣旨が不明確ですね。
もっとやりたいことを明確にしてください。
・リンクの仕方がわからないのか
・他シートにある文字列の検索の仕方がわからないのか
・それら一連のことを実行するマクロが欲しいのか
こちらの掲示板サイトのように一般機能もマクロも質問できるところでは
特にどのようなものを作りたいのか、知りたいのか、きちんと書く必要があると思います。
質問者さんがどこまでできているのか書いてもらわないと適切な回答はできません。
なお、私は、本の目次のようなものを作りたいのだろうと推測して回答したつもり。
別の話だったのかもしれない。
(γ) 2016/05/19(木) 07:03
皆さんコメントしておられるように、何を、どのように、どの程度のものとして準備したいのかが不明です。 以下は、たまたまボランティアで世話をしている図書館の利用者からあがる質問に担当者が答えるQ/A集として インデックスをはっておきたいということで、ちょこっと作ったものを、今回の要件(これも推測ですけど)にあわせて 手直しをしたものです。 こんなおおげさなものは的外れなのかもしれませんが、参考出品ということで。
ThisWorkbookモジュールに。
Option Explicit
Dim TODO As Boolean Const SHNAME As String = "Sheet1" '★
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim c As Range If Sh.Name = SHNAME And TODO Then For Each c In Range("A1", Range("A" & Rows.Count).End(xlUp)) setHLink c Next TODO = False End If End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim c As Range Dim r As Range
If Sh.Name = SHNAME Then
'列選択クリア時の膨大な処理時間を回避 If Target.Areas.Count = 1 Then If Target.Cells.Count = WorksheetFunction.CountBlank(Target) Then Exit Sub End If
Set r = Intersect(Target, Columns("A")) If Not r Is Nothing Then For Each c In r.Cells setHLink c Next End If Else TODO = True End If
End Sub
Private Sub setHLink(c As Range) Dim shF As Worksheet Dim f As Range
If IsEmpty(c) Then Exit Sub
On Error Resume Next c.Hyperlinks(1).Delete On Error GoTo 0
For Each shF In Worksheets If shF.Name <> SHNAME Then Set f = shF.UsedRange.Find(What:=c.Value, LookAt:=xlPart) If Not f Is Nothing Then c.Parent.Hyperlinks.Add Anchor:=c, Address:="", _ SubAddress:=f.Address(False, False, External:=True) Exit For End If End If Next
End Sub
(β) 2016/05/19(木) 08:48
一番最後の回答がほしかったものです。
ありがとうございます。
>そもそも、質問の趣旨が不明確ですね。
>もっとやりたいことを明確にしてください。
すみません。方針ができてから質問するべきでした。
(リンク) 2016/05/19(木) 19:16
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.