Excel VBA質問箱 IV

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

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


11673 / 13646 ツリー ←次へ | 前へ→

【14855】どうかご教授おねがい致します。 へいちゃん 04/6/8(火) 21:50 質問[未読]
【14857】Re:どうかご教授おねがい致します。 ichinose 04/6/8(火) 22:03 発言[未読]
【14858】Re:どうかご教授おねがい致します。 へいちゃん 04/6/8(火) 22:12 回答[未読]
【14863】Re:どうかご教授おねがい致します。 ichinose 04/6/8(火) 22:44 回答[未読]
【14870】Re:どうかご教授おねがい致します。 へいちゃん 04/6/8(火) 23:20 お礼[未読]

【14855】どうかご教授おねがい致します。
質問  へいちゃん E-MAIL  - 04/6/8(火) 21:50 -

引用なし
パスワード
   ストップウォッチを作ってみたのですが、うまくいきません。
問題1 コンマ台が表示できない。
問題2 条件分岐がうまくいきません。

Option Explicit
'モジュールレベル変数宣言
Private St As Double  'Start time
Dim Stp As Double  'Stop time

Sub Start_Time()

'変数stにスタート時刻を代入
  St = Now()
  
End Sub


Sub Stop_Time()

  
  Dim Tim As Double  '時間差

'変数stにストップ時刻を代入
  Stp = Now()
  
'経過時間を計算
  Tim = Stp - St
  
'経過時間をE7セルに表示
  Range("E11").Value = Tim
  
'E7セルの表示形式を変更
  Range("E11").NumberFormat = "mm:ss.0"


End Sub

Sub Reset_Time()


  '範囲内の塗りつぶしをなくす
  
  Range("a1:p40").Select
  Selection.Interior.ColorIndex = 0
  
  'E7セルを0にリセットする
  
  Range("E11").Select
  Range("E11").Value = 0
  
  'd18セルを空にする
  
  Range("d18").Value = ""
  
  
End Sub

Sub 判定()


  Stp = Range("e11").Value
 
  'E11セル(ストップ時間)を比較する
  Select Case Stp
  
  '5以下の場合は以下のメッセージを出し、範囲内を青く塗る
  
    Case Is <= 5
    Range("d18").Value = "作業スピードは120です。"
    Range("a1:p40").Select
    Selection.Interior.ColorIndex = 5
    
   '10以下の場合は以下のメッセージを出し、範囲内を緑く塗る
  
   Case Is <= 10
    Range("d18").Value = "作業スピードは100です。"
    Range("a1:p40").Select
    Selection.Interior.ColorIndex = 4
    
   'その他の場合は以下のメッセージを出し、範囲内を赤く塗る
    
    Case Else
    Range("d18").Value = "作業スピードは80です。"
    Range("a1:p40").Select
    Selection.Interior.ColorIndex = 3
    
  End Select


End Sub


以上です。どうかよろしくお願いします。

【14857】Re:どうかご教授おねがい致します。
発言  ichinose  - 04/6/8(火) 22:03 -

引用なし
パスワード
   ▼へいちゃん さん:
こんばんは。

>ストップウォッチを作ってみたのですが、うまくいきません。
>問題1 コンマ台が表示できない。
>問題2 条件分岐がうまくいきません。
>
>Option Explicit
>'モジュールレベル変数宣言
>Private St As Double  'Start time
>Dim Stp As Double  'Stop time
>
>Sub Start_Time()
>
>'変数stにスタート時刻を代入
  St = [Now()]
>  
>End Sub
>
>
>Sub Stop_Time()
>
>  
>  Dim Tim As Double  '時間差
>
>'変数stにストップ時刻を代入
  Stp = [Now()]
>  
>'経過時間を計算
>  Tim = Stp - St
>  
>'経過時間をE7セルに表示
>  Range("E11").Value = Tim
>  
>'E7セルの表示形式を変更
  Range("E11").NumberFormat = "mm:ss.00"
'                      ↑ここまでは表示します
>
>
>End Sub
>
>Sub Reset_Time()
>
>
>  '範囲内の塗りつぶしをなくす
>  
>  Range("a1:p40").Select
>  Selection.Interior.ColorIndex = 0
>  
>  'E7セルを0にリセットする
>  
>  Range("E11").Select
>  Range("E11").Value = 0
>  
>  'd18セルを空にする
>  
>  Range("d18").Value = ""
>  
>  
>End Sub
>
>Sub 判定()
>
>
>  Stp = Range("e11").Value
> 
>  'E11セル(ストップ時間)を比較する
>  Select Case Stp
>  
>  '5以下の場合は以下のメッセージを出し、範囲内を青く塗る
'          ↓この5とかその下の10ってどんな意味ですか?
'Stpという中身は、書式から推測すれば、大きくても何分の単位ですよね?
'そうすると、大抵は1以下なんですよ!!
'この5とか10の単位は何ですか?
>  
>    Case Is <= 5
>    Range("d18").Value = "作業スピードは120です。"
>    Range("a1:p40").Select
>    Selection.Interior.ColorIndex = 5
>    
>   '10以下の場合は以下のメッセージを出し、範囲内を緑く塗る
>  
>   Case Is <= 10
>    Range("d18").Value = "作業スピードは100です。"
>    Range("a1:p40").Select
>    Selection.Interior.ColorIndex = 4
>    
>   'その他の場合は以下のメッセージを出し、範囲内を赤く塗る
>    
>    Case Else
>    Range("d18").Value = "作業スピードは80です。"
>    Range("a1:p40").Select
>    Selection.Interior.ColorIndex = 3
>    
>  End Select
>
>
>End Sub
>

【14858】Re:どうかご教授おねがい致します。
回答  へいちゃん E-MAIL  - 04/6/8(火) 22:12 -

引用なし
パスワード
   ▼ichinose さん:
ありがとうございます。
条件分岐の5とか10は5秒、10秒の意味です。
スタートを押してストップを押した数値を判断して
メッセージをだしたいのです。


あと、数値でコンマ何秒とだしたいのはランキング付け
するからです。

やりたいことは分かって頂けたでしょうか
よろしくお願いいたします。

【14863】Re:どうかご教授おねがい致します。
回答  ichinose  - 04/6/8(火) 22:44 -

引用なし
パスワード
   ▼へいちゃん さん:
>条件分岐の5とか10は5秒、10秒の意味です。
>スタートを押してストップを押した数値を判断して
>メッセージをだしたいのです。
わかりました。


>
>
>あと、数値でコンマ何秒とだしたいのはランキング付け
>するからです。
>
>やりたいことは分かって頂けたでしょうか
>よろしくお願いいたします。
前回の訂正はよろしいですか?
残りは、判定ですね!!
'=========================================================
Sub 判定()


  Stp = Range("e11").Value
 
  'E11セル(ストップ時間)を比較する
  Select Case Stp * 86400
 
  '5以下の場合は以下のメッセージを出し、範囲内を青く塗る
 
    Case Is <= 5
    Range("d18").Value = "作業スピードは120です。"
    Range("a1:p40").Select
    Selection.Interior.ColorIndex = 5
  
   '10以下の場合は以下のメッセージを出し、範囲内を緑く塗る
 
   Case Is <= 10
    Range("d18").Value = "作業スピードは100です。"
    Range("a1:p40").Select
    Selection.Interior.ColorIndex = 4
  
   'その他の場合は以下のメッセージを出し、範囲内を赤く塗る
  
    Case Else
    Range("d18").Value = "作業スピードは80です。"
    Range("a1:p40").Select
    Selection.Interior.ColorIndex = 3
  
  End Select


End Sub
これで確認して下さい

【14870】Re:どうかご教授おねがい致します。
お礼  へいちゃん E-MAIL  - 04/6/8(火) 23:20 -

引用なし
パスワード
   ▼ichinose さん:
ありがとうございました。

[now()]・・・大括弧で囲むとコンマ台まで表示出来ることと
stp*86400・・・24時間を秒換算するところなど
大変勉強になりました。

本当にありがとうございました。
今後ともよろしくお願いします。

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