• ベストアンサー

任意のセル番号をいれて、そこまで飛ばす方法

EXCEL 2007を使用しています。 縦の行が数値、横の列がアルファベットとします。 たとえば、B50のセルにA1と入れれば、A1に飛ぶ(わかりやすくいうと新規でブックを開いた基本状態、A1が左角になる)、 B50のセルにM100と入れると、M100に飛ぶ(M100が左角になる) つまり、B50に任意のセル番号を入れれば、そのセルを左角としジャンプさせてシートを見たいのです。 これができれば、ベストなのですが、それ以外で候補として・・ B50に1と入れれば一行目に飛ぶ。100と入れれば100行目に飛ぶ。Zと入れればZ列に飛ぶ。 行・列別々の移動だけでもかまいません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

#3のmerlionXXです。 さきほどの回答では、指定したセルにアクティブセルが移ってしまいます。もし指定したセルをアクティブにしないままで指定したセルを画面左上に表示したいのなら Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$B$50" Then Exit Sub r = Range(Target.Value).Row c = Range(Target.Value).Column ActiveWindow.ScrollRow = r ActiveWindow.ScrollColumn = c End Sub に変えてください。 ただし、この回答は#3の回答と併記できません。どちらかにしてください。

g-touch
質問者

お礼

私の理想としていたものです! また、チャート式にやり方を順に説明してくれてますので初心者の私にも1分かからずできました。 お気づかいにも感謝します。ご回答ありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

1.シート名のタブを右クリック 2.コードの表示 3.表示された右側の白い広い部分に以下をコピーペ Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$B$50" Then Exit Sub Cells(Rows.Count, Columns.Count).Select Application.Goto Reference:=Range(Target.Value) End Sub 4.Altキー+F11キーで元に戻る。 これでB50に任意のセル番地を入れれば、そのセルを左角としジャンプさせてシートを表示します。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

関数ではセル移動はできないがエクセルVBAの経験はあるの。質問に書いてないが。 それなら一番基礎的なことで Sheet1のA10に例えばC11を Sub test02() Sheets("Sheet2").Activate adr = Sheets("Sheet1").Range("A10") Sheets("Sheet2").Range(adr).Select End Sub 列と行をどちらか、入れるというのは課題を複雑にするが Sub test03() adr = Sheets("Sheet1").Range("A10") If IsNumeric(adr) Then Sheets("Sheet1").Range("A" & adr).Select Else Sheets("Sheet1").Range(adr & 1).Select End If End Sub 列記号は正し悔いれる前提で。 チェックも入れた凝ったものは別質問でどうぞ。 ーー 何かに使いたいのでしょうが 使い道は余りないか、その方式が余りに懲りすぎていると思う。 誰でも、まず自分が思いついた方向でやろうとするが、それより 簡単な方法はないか、初心者はアンテナを張って良く勉強が必要。

g-touch
質問者

お礼

関数式ではセル移動ができないのですね。勉強になります。 また、VBAはまだまだ未知の領域ですが、今後の勉強の参考なりそうです。 ご回答ありがとうございました!

すると、全ての回答が全文表示されます。
  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

B50セルでなくても良いなら、打ち込んだセルに移動できる所が標準で付いています。

g-touch
質問者

お礼

変に関数ばかり気に取られ単純な考えが思いつきませんでした。 その方法でも簡易的にはできますね。 ご回答ありがとうございました!

すると、全ての回答が全文表示されます。

関連するQ&A