ExcelVBAイベント-数字キーの押下でカーソル移動
(1) 数字キー押下でイベント発生
該当ワークシートをダブルクリックして
「Private Sub Worksheet_SelectionChange(ByVal Target As Range)」
から始まるコードを記述
[SelectionChange イベント]は、ワークシートで選択範囲を変更したときに
発生します。Target:新しい選択範囲が格納されている
(コードの概要)
カーソルが動いたときにイベントが発生するので、
移動先(Target.Column) が A[1],B[2],C[3],G[7],H[8]列 の時には、
Onkeyを設定してキーの入力制御を行う
移動先(Target.Column) が A,B,C,G,H列 以外の時には、Onkeyを設定を解除する
「Onkey」で呼び出すサブルーチンは、標準モジュールとして記述し、
項目をチェックするときは、ActiveCellを使う
(Targetは移動先を示しているので、右となりになっている)
'
'
' A列[1]「第1項目」の単体チェック
'
If ActiveCell.Column = 1 Then
If Index >= 1 And Index <= 6 Then
'continue
Else MsgBox ("第1項目は 1~6まで")
'Cells(ActiveCell.Row, ActiveCellactivecell.Column).Select
errflg = 1
End If
End If
(2) 複数文字入力の場合 (1)と同様に該当ワークシートをダブルクリックして、
「Private Sub Worksheet_Change(ByVal Target As Range)」
を記述
[Change イベント] セルが変更された時に発生します。
Target:変更された範囲が格納されている
(コードの概要) 値が変更されたときにイベントが発生するので、
変更したセルの列番号(Target.Column) で項目チェックを行う
'
' D列[4]「製品番号」の単体チェック
'
If Target.Column = 4 Then
If Len(Target.Value) <> 7 Then
MsgBox ("製品番号が7桁になっていません")
Cells(Target.Row, Target.Column).Select
End If
End If
-------------------------------------------------------------
(1),(2)を組み合わせて、1桁入力では「Enter」なしに次のセルに移動
複数文字入力では「Enter」で移動を実現する
dyno2316 ロヒミフ perl VBA Excel 秀丸
ラベル
- _Dyno2316 (1)
- AHCIドライバ組み込み (1)
- Boot (1)
- Excel:ショートカット (1)
- Excel:差込印刷時の日付書式 (1)
- ExcelVBA:SelectionChange (1)
- IE8:NoSearchBox (1)
- netsh:IP設定 (1)
- Perl:CSV形式の分解 (1)
- Perl:Dumper (1)
- Perl:join sprintf unpackなど (1)
- Perl:ParseExcel (1)
- Perl:Smart::Comments (1)
- Perl:ハッシュの要素の存在・定義・真偽 (1)
- Perl:ファイルの入出力 (1)
- Perl:ファイル入力と正規表現で抽出 (1)
- Perl:リンク (1)
- Perl:現時刻を日本語形式で (1)
- Perl:四捨五入 (1)
- Perl:重複行を削除 (1)
- PerlTips (2)
- VistaPE (1)
- Win:Tips (1)
- Win7:TIPS (1)
- Win7:TIPS OEの移行 (1)
- Win7:強化されたファイァーウォール設定 (1)
- WinPE (1)
- 秀丸マクロ:カラーマーカー (1)