Excelで指定桁数分を入力すると自動的に次のセルに移動するようにしたいのですが、このような方法の設定の仕方はあるでしょうか。
つまり例えばA1に「1234」と入力するとセルが自動で次のセル(A2)に移動して、すぐにA2での入力に移れるような方法を探しています。
各製品の長さを入力して表にしているのですが、いちいちエンターキーを押すのが煩雑で面倒です。ご存知の方がいましたら教えて頂ければとても助かります。
宜しくお願い致します。
===================
例)
1923
----- ↓自動で次のセルに以降
1897
----- ↓自動で次のセルに以降
1638
-----
No.2ベストアンサー
- 回答日時:
こんにちは。
...かなりベタなコードで、うまく動かないかもしれませんが......なのでテストは充分に行ってください。
>各製品の長さ
という事なので、10キー限定です。
3桁には対応させてません。(その場合はEnterキー)
標準モジュールに以下の3つのコードをコピーペーストします。
『Sub Num_in』というのが本体です。
『Sub スタート』を実行する事で、この機能を ON にします。
『Sub 解除』で OFF にします。
'-------------------------------------------------
Sub スタート()
Dim i As Long
With Application
For i = 0 To 9
.OnKey "{" & i + 96 & "}", "'Num_in" & """" & i & """" & "'"
Next
End With
End Sub
'-------------------------------------------------
Sub 解除()
Dim i As Long
With Application
For i = 0 To 9
.OnKey "{" & i + 96 & "}"
Next
End With
End Sub
'-------------------------------------------------
Sub Num_in(n As Long)
Dim j As Long
With Selection
j = Len(.Value)
If j > 3 Then
.Value = n
Else
.Value = .Value & n
If j = 3 Then .Offset(1).Select
End If
End With
End Sub
'-------------------------------------------------
No.1
- 回答日時:
ENTERキーを押したあとではなくて、キーの押しさげを察知するのは、VBAのイベントを使えわないと、できないと思う。
もっと言うならAPIの駆使など。関数のように、セルの値になってからでないと働かない仕組みは役立たない。
テキストボックスには、KeyUp,KeyDownなどのイベントがあるので
シートに、テキストボックスを1つ貼り付けて、そのKeyUpイベント
を使ってみた。
A列の書式は文字列としておく。
テキストボックスに数字を連続して入力していく。6桁になるとセルに値としてセットします。
データをセットするスタートのセルの指定は、そのセルを指定し、テキストボックス内でダブルクリックすること。
Public i
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
i = ActiveCell.Row
End Sub
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Static n, s
s = s & Chr(KeyCode)
n = n + 1
If n = 6 Then
n = 0
Cells(i, "A") = s
i = i + 1
s = ""
TextBox1.Text = ""
End If
End Sub
英数半角ならうまくいくようです。(質問ではこれでOK?)
英小文字や半角カナ・全角文字もうまくいかない。
私自身の問題は
Shiftを押す記号や全角文字やカナ半角ではどうしたら良いか?
分からない。
またキャンセルやその他のキー操作の場合も未確認です。
ーー
そういうことで、後で良い回答が出なければ、相当技術を要する事項だと、私は思うので、あきらめてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで、例えばAのセルの値次第で、Bのセルの値を自動入力する方法を教えてください。 2 2022/08/02 12:10
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- 日本語 読解力の質問です(Excel含む) 12 2022/08/02 13:25
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) 【再度】Excelの関数について教えてください。 4 2023/07/28 13:06
- Excel(エクセル) Excelの関数について教えてください。 5 2023/07/28 11:27
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Excel(エクセル) エクセルVBA 任意のセルの選択時、指定のセルの値を表示 1 2023/04/21 08:13
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
エクセルで指定した文字数入力したら自動で次のセルに飛ぶには
Excel(エクセル)
-
エクセル 1文字入力すると自動で横にセル移動
Windows Vista・XP
-
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
-
4
エクセルで決まった文字数で改行し,複数行の別のセルに移動させる方法
Excel(エクセル)
-
5
セルの自動移動
Excel(エクセル)
-
6
Excelで教えてください。 バーコードリーダーで読み込みしたあと セルを自動で次のセルに行くように
Excel(エクセル)
-
7
エクセルVBA 文字を入力したら右へ移動 文字を入力せずにエンターを押しても右へ移動させたい
Excel(エクセル)
-
8
エクセル VBA 入力文字数制限とセルの移動
Visual Basic(VBA)
-
9
vbaで指定したセルより下の行を指定する方法について vbaの質問です。 例えば、「C6」セルより下
Excel(エクセル)
-
10
VBAで文章を指定の文字数で改行コードを挿入したい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルをクリック⇒そのセルに入力...
-
対象セル内(複数)が埋まった...
-
エクセル 足して割る
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
Excelのチェックボックスの使い...
-
エクセル オートフィルタで絞...
-
Excelで住所を2つ(町名迄と番...
-
セルに特定の色が付いていたら...
-
枠に収まらない文字を非表示に...
-
Excel:指定セル以下全てのセル...
-
貼り付けで複数セルに貼り付けたい
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
Excelで、「特定のセル」に入力...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルで縦に1112223...
-
セルの高さ(行高)を求めるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
excelのCOUNTIF関数で、『範囲=...
-
EXCEL VBA セルに既に入...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excel2003 の『コメント』の編...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
複数のセルのいずれかに数字が...
-
枠に収まらない文字を非表示に...
-
excelの特定のセルの隣のセル指...
おすすめ情報