VBAからGDI+を使う資料集
inet上の達人の方々から御教示いただいたコードを少しアレンジさせてもらっています(切り貼りとも言います)。
  1. ホーム
  2. Other
  3. Shape同士をlink


楕円をクリックすると、同じ文字の入った同一シート上の楕円にジャンプ

OKwaveで回答したけれど、VBA使用ではお気に召さなかったのか、音沙汰のなかったもの。
なかなか楽しい動作だと思うのですが。
たとえば、1という文字が入力された楕円の一方をクリックすると、シート上に
もう一個存在する、同じ文字が入った楕円にジャンプするというもの。何に使おう?


'楕円をクリックすると実行されるコード
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