- ベストアンサー
Excelのセル移動
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
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
その他の回答 (4)
- atsusi
- ベストアンサー率31% (15/48)
マクロを使えばできないことはないと思いますが、かなり上級者しか無理だと思います。なぜなら本来の目的とは違うと思われることだからです。 要するに手間省きをしたいのですよね?
お礼
はい。おっしゃる通りです。(^u^)
- moon00
- ベストアンサー率44% (315/712)
マクロを使用すればできると思います。 ある空白セルについては、「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」) 作業をしたいシートのコードに貼り付ければできると思います。 「ある空白セル」が任意の場合はもうちょっと工夫しないとダメですけど。
お礼
早速、貼り付けて使ってみました。すると、ピョンと飛びまして、感動しちゃいました。本当にありがとうございました。
- atsusi
- ベストアンサー率31% (15/48)
検索メニューで、探したい文字を入力して検索すればできると思います。
補足
atsusiさん、早速、ありがとうございます。あのね、実は、検索を使わずに、セルに入力後、確定した時点で飛ばしてみたいのですけど・・・
関連するQ&A
- エクセルでセル移動について
エクセルのA1からD10の表に縦に数値を入力します。 各列によって空白のセルがあります。 A列の入力が終わればB1に、B列の入力が終わればC1に セル移動するにはどうすればいいでしょうか? (空白セルがあるため、Ctlキー+↑キーでは上手くいきません。) 教えて下さい。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで入力されているセルへジャンプ
エクセルでリストを作成しています。 行数が8000行近くあります。 行には文字が入力されているところ入力されていないところがランダムに有ります。(入力されていないセルの方が多い。200、300行空白だったりする) 現在のカーソルの位置から、文字が入力されているセルまで(下方向)一気にジャンプすることは出来るのでしょうか? リストの編集するのに次にどの行に文字があるのか解らなく、その行を見つけるのに手間が掛かるので困っています。 宜しくお願いします。
- ベストアンサー
- Windows XP
- Excelで特定のセルのみ移動し入力したいのですが。
Excel2000を使用しています。シートに保護をかけて特定のセルのみに入力できるように設定することまではできたのですが、その特定のセルのみにカーソルを移動させる方法はありますか?例えば、表の行を入力しないセルにはカーソルを移動させないようにして、行末のセルまでいくと次の行に改行されるようなことです。コントロールツールボックスのプロパティのEnableSelectionの項目を1_xlUnlockedにしてみると特定のセルのみ移動させることはできるのですが、保存してブックを閉じてしまうとその設定が解除されてしまうようです。マクロは複雑そうなので何か別の簡単な方法があればどなたかご教示ください。
- ベストアンサー
- オフィス系ソフト
- エクセル 空白セルを詰めたい
A表のようなデータを別シートに”データの入力規則”でプルダウンを作ると、プルダウンに空欄ができてしまいます。 空白セルにはCOUNTIF等関数が入力されています。 空白でなく記号や文字を入れることは可能です。 空白セルだけ抜いて上に詰めたB表を、関数のみで表示することはできますか? 空白セルがある状態でもプルダウンで詰める方法があればそちらの方がよいです。 A表 __|______ 1 | 日本 2 | アメリカ 3 | 4 | イギリス 5 | 6 | フランス 7 | イタリア ↓A表の隣に表示させたい B表 __|______ 1 | 日本 2 | アメリカ 4 | イギリス 5 | フランス 6 | イタリア
- ベストアンサー
- その他MS Office製品
- EXCEL2003でカーソルの移動
EXCEL2003を使っています。 たとえばsheet1のC3セルに「AAA」という文字を入力しておいて、 その文字をクリックしたら、sheet2のE5セルにカーソルが移動する、 ということをしたいのですが、マクロを組まないといけないのでしょうか。 この操作をした時には、当然sheet2が表示され、 カーソルがE5セルにカーソルが移動しているものとします。
- ベストアンサー
- オフィス系ソフト
- Excelで文字を確定した後にセルが移動してほしくない
Excel2002でセルに文字を入力して確定するには文字を入れた後にEnterかTabを押しますが、これだとセルが右や下に移動してしまいますよね。セルに入力した後、書式を設定したい時があるので、文字を確定した後セルが移動してほしくないんですが、これってできますでしょうか?EnterやTabを押す以外に文字を確定して、セルが移動しない方法ってありますか?
- ベストアンサー
- オフィス系ソフト
- エクセルでセルの移動
Sheet1のC3のセルに、シート2のD48に入力された数字を表示できるようにしてあります。(=Sheet2D48と入力しただけなのですが・・) Sheet1のC3にカーソルを持ってくるとSheet2のD48のセルまでいっきに移動する方法はあるのでしょうか。 説明が分かりにくくてすみません・・・。 エクセルについては、初心者です。 教えていただけるとうれしいです。
- ベストアンサー
- オフィス系ソフト
お礼
いままで簡単なマクロしか使ったことがなくて、教えていただいたものを使わせていただきましたら、うまくいきました。本当にありがとうございました。