• ベストアンサー

Excelのセル移動

EXCEL2002です。ある空白セルに文字や記号を入力しただけで、入力したものと同じ文字や記号が入っているセルへカーソルを飛ばしてみたいのです。誰か、教えてくらはい。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

VBAにあるエベントのWorksheet_SelectionChangeなどでは、検索して見つかって、ActivateやSelectすると、また同じイベントが起こって、繰り返しになってしまいます(ご質問者はご存知のようですね)。 したがって普通には出来ません。一回限り実行するイベントプロシージュアのしかけを作らないといけないが、初級的には難しそう。 A列に同じ値が無い、B列以下にA列と1つしか同じものが無い条件で、下記はどうかなと思うが、お遊び。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' MsgBox Target.Column If Target.Column <> 1 Then Exit Sub If Target.Value = "" Then Exit Sub a = Target.Value Cells.Find(What:=a, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _ .Select End Sub

kero-chan
質問者

お礼

いままで簡単なマクロしか使ったことがなくて、教えていただいたものを使わせていただきましたら、うまくいきました。本当にありがとうございました。

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

その他の回答 (4)

  • atsusi
  • ベストアンサー率31% (15/48)
回答No.5

マクロを使えばできないことはないと思いますが、かなり上級者しか無理だと思います。なぜなら本来の目的とは違うと思われることだからです。 要するに手間省きをしたいのですよね?

kero-chan
質問者

お礼

はい。おっしゃる通りです。(^u^)

すると、全ての回答が全文表示されます。
  • moon00
  • ベストアンサー率44% (315/712)
回答No.4

マクロを使用すればできると思います。 ある空白セルについては、「B2」固定として、 Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Application.MoveAfterReturn = False Then Application.MoveAfterReturn = True End If Select Case ActiveCell.Address 'セルB2 でデータを入力して、Enter キーを押した場合 Case "$B$3" Cells.Find(What:=ActiveCell.Offset(-1, 0).Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _ .Activate Case Else End Select End Sub これをVBA画面を開いて(「ツール」→「マクロ」→「Visual Basic Editer」) 作業をしたいシートのコードに貼り付ければできると思います。 「ある空白セル」が任意の場合はもうちょっと工夫しないとダメですけど。

kero-chan
質問者

お礼

早速、貼り付けて使ってみました。すると、ピョンと飛びまして、感動しちゃいました。本当にありがとうございました。

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

>>セルに入力後、確定した時点で飛ばしてみたいのですけど・・・ 出来ません!

kero-chan
質問者

お礼

アハハ(^_^: 絶対に?

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

検索メニューで、探したい文字を入力して検索すればできると思います。

kero-chan
質問者

補足

atsusiさん、早速、ありがとうございます。あのね、実は、検索を使わずに、セルに入力後、確定した時点で飛ばしてみたいのですけど・・・

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

関連するQ&A