• ベストアンサー

Excelのセル移動

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • エクセル

    「A1セル」に、文字でも数字でも記号でも何でも良いので、 とにかく何か入力されたら 「C1セル」に自動で「★」と入力されるようにしたいのです。 ただし、 「B1セル」にも、文字・数字・記号でも何でも良いので、 とにかく何か入力されると 「C1セル」は空白にしたいのです。 関数でこんなことは可能でしょうか?

  • エクセルでセル移動について

    エクセルのA1からD10の表に縦に数値を入力します。 各列によって空白のセルがあります。 A列の入力が終わればB1に、B列の入力が終わればC1に セル移動するにはどうすればいいでしょうか? (空白セルがあるため、Ctlキー+↑キーでは上手くいきません。) 教えて下さい。よろしくお願いします。  

  • エクセルで入力されているセルへジャンプ

    エクセルでリストを作成しています。 行数が8000行近くあります。 行には文字が入力されているところ入力されていないところがランダムに有ります。(入力されていないセルの方が多い。200、300行空白だったりする) 現在のカーソルの位置から、文字が入力されているセルまで(下方向)一気にジャンプすることは出来るのでしょうか? リストの編集するのに次にどの行に文字があるのか解らなく、その行を見つけるのに手間が掛かるので困っています。 宜しくお願いします。

  • Excelで特定のセルのみ移動し入力したいのですが。

    Excel2000を使用しています。シートに保護をかけて特定のセルのみに入力できるように設定することまではできたのですが、その特定のセルのみにカーソルを移動させる方法はありますか?例えば、表の行を入力しないセルにはカーソルを移動させないようにして、行末のセルまでいくと次の行に改行されるようなことです。コントロールツールボックスのプロパティのEnableSelectionの項目を1_xlUnlockedにしてみると特定のセルのみ移動させることはできるのですが、保存してブックを閉じてしまうとその設定が解除されてしまうようです。マクロは複雑そうなので何か別の簡単な方法があればどなたかご教示ください。

  • エクセル

    「A1セル」に、文字でも数字でも記号でも何でも良いので、 とにかく何か入力されたら「B1セル」に自動で「★」と入力されるようにしたいのです。 が!!! 「A1セル」に「●」が入力されたときに限り、「B1セル」は空白にしたいのです。 関数でこんなことは可能でしょうか?

  • エクセル 空白セルを詰めたい

    A表のようなデータを別シートに”データの入力規則”でプルダウンを作ると、プルダウンに空欄ができてしまいます。 空白セルにはCOUNTIF等関数が入力されています。 空白でなく記号や文字を入れることは可能です。 空白セルだけ抜いて上に詰めたB表を、関数のみで表示することはできますか? 空白セルがある状態でもプルダウンで詰める方法があればそちらの方がよいです。 A表 __|______ 1 | 日本 2 | アメリカ 3 | 4 | イギリス 5 | 6 | フランス 7 | イタリア ↓A表の隣に表示させたい B表 __|______ 1 | 日本 2 | アメリカ 4 | イギリス 5 | フランス 6 | イタリア

  • セルの自動移動

    エクセルで、入力後次のセルに移動するにはEnter等を押す必要があります。 シートに入力フォームを予め作っています。 1つのセルには1文字しか入力しないのですが、1文字を入力したら(Enter等を押さずに)自動的に次のセル(指定したセル)に移動することはできませんか? 例: セルB1に「1」を入力(1キーを押す)と次に入力したいB2へカーソルが移動

  • EXCEL2003でカーソルの移動

    EXCEL2003を使っています。 たとえばsheet1のC3セルに「AAA」という文字を入力しておいて、 その文字をクリックしたら、sheet2のE5セルにカーソルが移動する、 ということをしたいのですが、マクロを組まないといけないのでしょうか。 この操作をした時には、当然sheet2が表示され、 カーソルがE5セルにカーソルが移動しているものとします。

  • Excelで文字を確定した後にセルが移動してほしくない

    Excel2002でセルに文字を入力して確定するには文字を入れた後にEnterかTabを押しますが、これだとセルが右や下に移動してしまいますよね。セルに入力した後、書式を設定したい時があるので、文字を確定した後セルが移動してほしくないんですが、これってできますでしょうか?EnterやTabを押す以外に文字を確定して、セルが移動しない方法ってありますか?

  • エクセルでセルの移動

    Sheet1のC3のセルに、シート2のD48に入力された数字を表示できるようにしてあります。(=Sheet2D48と入力しただけなのですが・・) Sheet1のC3にカーソルを持ってくるとSheet2のD48のセルまでいっきに移動する方法はあるのでしょうか。 説明が分かりにくくてすみません・・・。 エクセルについては、初心者です。 教えていただけるとうれしいです。

専門家に質問してみよう