同シート内に、「1」と入力してある楕円のオートシェイプが2つあります。
どちらかをクリックすると、もうひとつのオートシェイプへ飛んでいける・・・
ようなことを、実現するにはどうしたらいいでしょうか?
ちなみに、シートが分かれることはありません。
オートシェイプは、1~50 までの連番で、シート内に2つ存在します。
オートシェイプ同士をリンクさせる事は出来ますか?
広いシートの中で、同じ番号を見つけるのが大変なのです。
オートシェイプだと、検索に引っ掛かってくれないので。。
環境は、Windows2000 office2000 です。
ご教授の程、よろしくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
オートシェープの名前は初期値のままである事を前提とします。
(当方XL2000ですので、上位バージョンで動かなかったらご容赦を)
#2さんのコードと違って、都度、全楕円をスキャンしますので、楕円の個数によっては遅いかもしれません。
Sub test()
Dim shp As Shape
Dim myShape As Shape
Set myShape = ActiveSheet.Shapes(Application.Caller)
For Each shp In ActiveSheet.Shapes
If InStr(shp.Name, "Oval") > 0 Then
If shp.Name <> myShape.Name Then
If shp.TextFrame.Characters.Text = myShape.TextFrame.Characters.Text Then
shp.TopLeftCell.Activate
'このへんはお好みで
'Application.Goto shp.TopLeftCell
'shp.select
Exit For
End If
End If
End If
Next shp
End Sub
以下はおまけ
全ての楕円に、上記マクロ「test」を設定
Sub setMacro()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If InStr(shp.Name, "Oval") > 0 Then shp.OnAction = "test"
Next shp
End Sub
No.2
- 回答日時:
一例です。
念のため、ダミー の ブック(当該ブック を複製)でお試しください。
1)[Alt] + [F11] で Visual Basic Editor(VBE)を開きます。
2)[挿入(I)] - [標準モジュール(M)] で開く コードウィンドウ に下記の コード を コピペ します。
'-----------------------------------------
Sub Rename()
Dim Sh As Shape
For Each Sh In ActiveSheet.Shapes
If Sh.AutoShapeType = msoShapeOval Then
On Error Resume Next
Sh.Name = "Oval" & Sh.DrawingObject.Text & "-1"
If Error.Number = 70 Then
Sh.Name = "Oval" & Sh.DrawingObject.Text & "-2"
End If
On Error GoTo 0
Sh.OnAction = "Select_Ovals"
End If
Next
End Sub
Sub Select_Ovals()
Dim Sh As String
Sh = Application.Caller
If Right(Sh, 1) = "1" Then
ActiveSheet.Shapes(Replace(Sh, "-1", "-2")).Select
Else
ActiveSheet.Shapes(Replace(Sh, "-2", "-1")).Select
End If
End Sub
'-----------------------------------------
3)[Alt] + [F4] で VBE を閉じます。
4)[Alt] + [F8] で [マクロ] ダイアログ を開き、「Rename」を選択して [実行(R)] します。
以上で、それぞれの オートシェイプ に「Oval{連番}-1」・「Oval{連番}-2」という名前が付きました。
「Oval{連番}-1」を クリック すれば「Oval{連番}-2」に飛び、「Oval{連番}-2」を クリック すれば「Oval{連番}-1」に飛びます。
なお、一連の作業が終了しましたら、(2)で書いた コード の内「Sub Rename()」の方は削除していただいて結構です。
No.1
- 回答日時:
excel 2007 で試しましたがオートシェイプへのリンクはできませんでした。
(正攻法では)回避策として、ジャンプ先のオートシェイプが乗っかっているセル自体に名前を定義する方法はどうでしょうか。
ジャンプ元のセルのハイパーリンク設定で、[このドキュメント内] の [定義された名前] に出てくるのでジャンプ先を選択する。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelVBAで自動調整できますか? 3 2023/08/25 22:59
- 画像編集・動画編集・音楽編集 medibang での文字の整列の仕方 1 2023/06/02 06:38
- Excel(エクセル) excelのオートシェイプを使って 1 2023/01/03 16:54
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) エクセル VBAでBook モジュールのプロシージァ(コード)に除外シートを設定したい 1 2023/01/11 15:53
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
20歳代と20代 どう違う?
-
Excelでハイパーリンクでジャン...
-
エクセルのシート間のリンクで...
-
ジャンプペイントって、ジャン...
-
IT用語でリダイレクト、ハイパ...
-
It works!とは?
-
wordでのhyperlinkマクロ作成方法
-
エクセル 保護すると”ユーザー...
-
ワード ショートカットが使えない
-
MPCについて
-
エクセルのショートカットにつ...
-
メール内でのジャンプ機能
-
30cm位からジャンプについて。
-
ネットしていて、前の画面に戻...
-
EXCELのHYPERLINK関数の”文字列...
-
ワードの次ページを消す方法
-
デッドライジングの隠し通路
-
ワードの同一ファイル内でリン...
-
Excelでページジャンプ
-
Windows edgeで楽天HPだけ表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
20歳代と20代 どう違う?
-
Excelでハイパーリンクでジャン...
-
MPCについて
-
エクセルのシート間のリンクで...
-
池の小魚がジャンプするのはなぜ
-
パワーポイントのハイパーリン...
-
ワード ショートカットが使えない
-
デッドライジングの隠し通路
-
IT用語でリダイレクト、ハイパ...
-
エクセル 保護すると”ユーザー...
-
Windows edgeで楽天HPだけ表示...
-
30cm位からジャンプについて。
-
ネットしていて、前の画面に戻...
-
ジャンプ+の容量がジャンプの...
-
EXCELのHYPERLINK関数の”文字列...
-
メール内でのジャンプ機能
-
Application.OnKey でマクロの...
-
It works!とは?
-
リンクを貼り別サイトへジャン...
-
Excelでページジャンプ
おすすめ情報