Excel VBA質問箱 IV

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

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


11874 / 76734 ←次へ | 前へ→

【70389】Re:時刻を簡単に入力したい
回答  UO3  - 11/11/12(土) 16:37 -

引用なし
パスワード
   ▼森本家 さん:

この種の変換が操作者にとって便利かどうか疑問なところもありますが。

>それから「時 = 入力値 \ 100」の中にある「\」はどのような
>関数なのでしょうか。

関数ではなく演算子です。VBAへるぷを参照いただきたいのですが
割り算のあまりを取得します。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim 入力値 As Long
  Dim 時 As Long
  Dim 分 As Long
  Dim 秒 As Long
  Dim 時間未満の分
  
  '時刻の入力領域を指定する
  If Intersect(Target, Range("B3:C14")) Is Nothing Then Exit Sub

  '複数のセルが変更された場合は終了
  If Target.Count > 1 Then Exit Sub
 
  '入力した値を「入力値」という変数に代入
  入力値 = Val(Target.Value)
  
  '1未満の数値を入れた場合または6桁でない場合は終了
  If 入力値 < 1 Or Len(CStr(入力値)) <> 6 Then Exit Sub
  
  '入力値を「時」「分」に分割
  時 = 入力値 \ 10000
  時間未満の分 = 入力値 Mod 10000
  分 = 時間未満の分 \ 100
  秒 = 時間未満の分 Mod 100
  '「分」「秒」が60以上なら終了
  If 分 >= 60 Or 秒 >= 60 Then Exit Sub

  'セルを書き換えてもイベントを発生させない
  Application.EnableEvents = False

  '「時:分」形式に変換
  Target.Value = TimeSerial(時, 分, 秒)

  'セルを書き換えたときにイベントを発生させる
  Application.EnableEvents = True

End Sub
3 hits

【70388】時刻を簡単に入力したい 森本家 11/11/12(土) 13:32 質問
【70389】Re:時刻を簡単に入力したい UO3 11/11/12(土) 16:37 回答
【70392】Re:時刻を簡単に入力したい 森本家 11/11/12(土) 17:53 お礼
【70394】Re:時刻を簡単に入力したい kanabun 11/11/12(土) 19:06 発言
【70395】Re:時刻を簡単に入力したい UO3 11/11/12(土) 19:43 発言
【70402】Re:時刻を簡単に入力したい 森本家 11/11/13(日) 8:22 お礼
【70397】Re:時刻を簡単に入力したい 森本家 11/11/12(土) 20:29 お礼
【70421】Re:時刻を簡単に入力したい 森本家 11/11/15(火) 15:18 質問

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