Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4420 / 13644 ツリー ←次へ | 前へ→

【56748】時間入力 acch 08/7/3(木) 10:08 質問[未読]
【56749】Re:時間入力 kanabun 08/7/3(木) 10:54 発言[未読]
【56779】Re:時間入力 acch 08/7/4(金) 12:17 お礼[未読]

【56748】時間入力
質問  acch  - 08/7/3(木) 10:08 -

引用なし
パスワード
   いつも参考にさせていただいています。

勤務表の確認のために下記のように組んでみました。
セルに"1510"のように入力すると"15:10"と表示され、Select Case のところで次のセルにとびます。
ところが、数値入力せずに Enter のみの場合は、右へ右へと進むだけです。
Enter のみの場合でも 指定のセルにとぶようにするにはどうすればよいのでしょうか。よろしくお願いいたします。


Private Sub workbook_sheetChange(ByVal Sh As Object, ByVal Target As Range)
'
If Intersect(Target, Range("c8:d38")) Is Nothing Then
  If Intersect(Target, Range("f8:g38")) Is Nothing Then
   If Intersect(Target, Range("n8:o38")) Is Nothing Then
     If Intersect(Target, Range("q8:r38")) Is Nothing Then
      Exit Sub
     End If
   End If
  End If
End If
'
Application.EnableEvents = False
Target.Value = Format(Target.Value, "")
Target.Value = Format(Target.Value, "00:00")
On Error GoTo 0
Dim w_column As Integer
Dim w_row As Integer
w_column = Range(Target.Address).Column
w_row = Range(Target.Address).Row
Select Case w_column
 Case 3, 6
  Cells(w_row, w_column + 1).Select
 Case 4
  Cells(w_row, w_column + 2).Select
 Case 5
  Cells(w_row, 6).Select
 Case 7, 8
  Cells(w_row + 1, 3).Select
 Case 14, 17
  Cells(w_row, w_column + 1).Select
 Case 15
  Cells(w_row, w_column + 2).Select
 Case 16
  Cells(w_row, 17).Select
 Case 18, 19
  Cells(w_row + 1, 14).Select
End Select
'
Application.EnableEvents = True
End Sub

【56749】Re:時間入力
発言  kanabun  - 08/7/3(木) 10:54 -

引用なし
パスワード
   Enterキーが押されたときのマクロを仕込んでおくのかな?

Sub 設定() 'テンキーのEnter と 通常キーの Enter(Return)キーが押されたときの動作をカスタマイズする
  Application.OnKey "{ENTER}", "移動"
  Application.OnKey "~", "移動"
End Sub

Sub 解除()  '動作を元に戻す
  Application.OnKey "{ENTER}"
  Application.OnKey "~"
End Sub

ビリー氏のここが参考になります
h t t p://homepage3.nifty.com/belie/vba/vba112.htm

【56779】Re:時間入力
お礼  acch  - 08/7/4(金) 12:17 -

引用なし
パスワード
   kanabunさん ありがとうございました。
標準モジュールに設定するのですね。
うまくいきました。
ついでにセルの移動もOFFSETを使い、スッキリできました。


▼kanabun さん:
>Enterキーが押されたときのマクロを仕込んでおくのかな?
>
>Sub 設定() 'テンキーのEnter と 通常キーの Enter(Return)キーが押されたときの動作をカスタマイズする
>  Application.OnKey "{ENTER}", "移動"
>  Application.OnKey "~", "移動"
>End Sub
>
>Sub 解除()  '動作を元に戻す
>  Application.OnKey "{ENTER}"
>  Application.OnKey "~"
>End Sub
>
>ビリー氏のここが参考になります
>h t t p://homepage3.nifty.com/belie/vba/vba112.htm

4420 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free