[[20141114135916]] 『アクティブセルになったらほかのシートのセルに移』(タマ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『アクティブセルになったらほかのシートのセルに移動する方法』(タマ)

アクティブセルからほかのシートへ自動的にセル移動できる方法を教えてください
今現在ハイパーリンクで行っておりますがマクロでアクティブセルになっても
ハイパーリンクでは移動しません(マウスでクリックしないといかない)
マクロで移動するようにしたいのですが

< 使用 Excel:Excel2007、使用 OS:Windows7 >


例えばカーソル移動して特定列になった場合、そこを避けて次の列に移動、というのは、カーソルキーが
押されたというイベントをVBAで得ることができないため、実現できません。

ハイパーリンクでも他シートに移動できるので、それで十分かと思います。
(???) 2014/11/14(金) 14:45


 いろいろ突込み所がありますが、

 アクティブセルとは。
http://www.sophia-it.com/content/%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%82%BB%E3%83%AB

 で、どんなコードになっているのか解らないけど。
 セルを選択した後に、
 ActiveCell.Hyperlinks(1).Follow
 で、移動します。
 尚、ハイパーリンクしてないセルだとエラーになります。
 BJ

 シートモジュールに以下ではどうだろうか?
 以下の場合、以下が記載されているシートで他のセルからA1セルに移動するとSheet2のA15セルへ移動し、A15セルをシートの一番上にする。

 Caseを増やすことで選択すると飛ぶセルを増やせる。
 ただし、最初から選択されている場合には移動しない。

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Select Case Target.Address
         Case "$A$1": Application.Goto Worksheets("Sheet2").Range("A15"), True
     End Select

 End Sub
(ねむねむ) 2014/11/14(金) 14:56

あぁ、SelectionChangeイベント時に処理してしまえば可能ですね。
特定列の左から→と、右から←等が区別できなかったことがあり、勘違いしておりました。

ならば、ハイパーリンクされていれば飛ぶ、というだけならば、こんなのでも良かったりしますかね?

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If 0 < Target.Hyperlinks.Count Then
        Target.Hyperlinks(1).Follow
    End If
 End Sub
(???) 2014/11/14(金) 16:01

ありがとうございます
ばっちりです
(タマ) 2014/11/14(金) 17:24

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.