| 
    
     |  | ▼初心者X さん: おはようございます。
 
 
 >
 >a=range("a1").value  'a1セルには1分15.1秒(1.15.1)がDATE形式で入っている。
 >b=range("a2").value  'a2セルには3分16.8秒(3.16.8)がDATE形式で入っている。
 >c=b-a  'bとaの差を計算する。
 >
 >アプリケーション定義エラーとなってしまいます。
 >
 >なにが問題なのでしょうか。
 セルA1とA2にどのような方法でDate形式で1分15.1秒及び、3分16.8秒
 と入力したのかと言う説明がありません。
 ↑これの設定方法に問題があるのだと思いますが・・・。
 
 a,b,cの変数の型の説明がありません!!
 
 これらの情報がないと多くの方が再現ができませんよね?
 
 新規ブックの標準モジュールに
 
 '============================================================
 Sub test()
 Dim a As Double
 Dim b As Double
 Dim c As Double
 Cells.Delete
 MsgBox "ready?"
 With Range("a1:a2")
 .NumberFormatLocal = "mm:ss.00"
 .Cells(1).Value = Evaluate("timevalue(""00:01:15.01"")")
 .Cells(2).Value = Evaluate("timevalue(""00:03:16.08"")")
 MsgBox "セルA1〜A2の内容を確認してください"
 a = .Cells(1).Value
 b = .Cells(2).Value
 End With
 c = b - a
 MsgBox "a =range(""a1"").value" & vbCrLf & _
 "b =range(""a2"").value" & vbCrLf & _
 "c = b-a" & vbCrLf & _
 "c = " & Application.Text(c, "mm:ss.00")
 End Sub
 
 上記のtestを実行して初心者Xさんのコードと比べてみてください。
 
 
 |  |