[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ショートカットでセルの移動』(;;)
あるキーを押した時に、
前もって指定したセルに移動して、またキーを押すと
再度以前のセルに戻るにはどうしたらいいですか?
A〜I列までにデータを入力していき、Aが日付データです
1行1データです
データが増えるたびに、N1に入力してある日付をA列のセルに転記するようにしています
マウスに持ち替えて、
N1と入力している行を行き来させるのが手間なので
キーボードだけで行き来させ、効率的に入力したいです
伝わりましたでしょうか?
< 使用 Excel:Excel2016、使用 OS:Windows10 >
>データが増えるたびに
どんな作業をしているか理解できていませんが
マウスを行き来させている作業1セット分をマクロにできませんか。
(マナ) 2018/08/01(水) 21:43
画面分割するとか、新規ウインドウで画面を2つにしてCtrl+Tabで 切り替えるとかはダメですか? (コナミ) 2018/08/01(水) 23:48
(1-1)セル番地を覚えておく (1-2)N1に移動する (2)N1が選択されていたら (2-1)覚えていたセルを選択 (2-2)覚えているセルが無かったらそのまま終了
というのを作って、そいつにショートカットキーを割り当てれば希望の形になるような気がしますが、マクロを作る気はありますか?
ただ、マクロをつかうならもっと簡単に
A列でダブルクリックしたらN1セルの日付をコピーする
みたいなものを作ったほうが手っ取り早そうな気がします
(もこな2) 2018/08/02(木) 03:30
もしN1の日付がデータ入力のタイミングによって変化するから値が欲しいというのなら
A列でデータ入力するときに、
Ctrl+C → アプリケーションキー → V
とキーボードを叩くだけで値として貼り付けられます。
(名無し) 2018/08/02(木) 08:39
N1と任意のセルを行き来する? ジャンプ機能だとどうだろう?
手順: N1に名前をつけておく。 A列の任意のセルを選択 Ctrl+G でジャンプ画面開く Tabキーをおして移動先画面内に入り、N1につけた名前まで矢印キーで移動 Enter ←これでN1に移動。 コピー そのまま Ctrl+G でジャンプ画面開く Tabキーをおして移動先画面内に入り、先ほどの移動元のAセルが移動先画面内にあるので、それを矢印キーで選択。 Enter ←これで元のAセルに移動。
A列に移動するのはどの行にいてもHomeキーで戻るから、活用おすすめ。 あともしもN1が本日の日付なら Ctrl+; で入るのでそれもおすすめ。
(1111) 2018/08/02(木) 08:59
以下のコードをシートモジュールに貼ると、セル指定(範囲や飛び飛びでもOK)した後、右クリックすると、選択したA列のセルにN1の値を代入します。 キー操作ではなくマクロ操作になりますが、セルを行き来しなくて済むので、作業が楽になるのではないかと思いますよ。
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Dim R As Range For Each R In Target If R.Column = 1 Then R.Value = Range("N1").Value End If Next R Cancel = True End Sub (???) 2018/08/02(木) 09:24
Application.EnableEvents = False If Target.EntireRow.Cells(1, 1).Value = "" And Target.Column > 1 And Target.Row > 1 Then Target.EntireRow.Cells(1, 1).Value = Range("N1") End If Application.EnableEvents = True End Sub これならマウスを使わなくとも次々と入力していけます。 (名無し) 2018/08/02(木) 09:47
Private Sub Worksheet_Change(ByVal Target As Range)
'変更されたセルがB〜I列でなければ、何もせず終了 If Intersect(Target, Range("B:I")) Is Nothing Then Exit Sub
'変更されたセル(範囲)が1行目なら終了 If Target.Row = 1 Then Exit Sub
With Cells(Target.Row, "A") If WorksheetFunction.CountA(Intersect(Target, Range("B:I"))) > 0 Then If .Value = "" Then .Value = Range("N1").Value Else .Value = "" End If End With
End Sub (もこな2) 2018/08/02(木) 23:04
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.