- ベストアンサー
VBA 日付時刻のセル エラー13型が一致しません
- 日付の入ったセルと時刻の入ったセルを合算させると、エラーが生じます。エラー13「型が一致しません」と表示されます。このエラーを回避する方法について教えてください。
- VBAを使用して日付の入ったセルと時刻の入ったセルを合算しようとすると、エラー13「型が一致しません」というエラーが表示されます。どのようにすればこのエラーを解消できますか?
- セル内に日付と時刻が入っている場合に、それらを合算するとエラー13「型が一致しません」というエラーが発生します。このエラーを回避する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは Option Explicit Public num As Long Sub newmacro() Dim r As Long r = Range("a1").End(xlDown).Row Range("F1:F" & r).NumberFormatLocal = "[h]:mm" On Error Resume Next For num = 1 To r Cells(num, "F").Value = _ ((Cells(num, "D").Value + Cells(num, "E").Value) - _ (Cells(num, "B").Value + Cells(num, "C").Value)) If Err.Number <> 0 Then MsgBox num & "行でエラー発生 " & Err.Description End If Next num On Error GoTo 0 End Sub どこでエラーになるのか、その行のB~E列のデータはどうなっているのかを確認して下さい。 日付、時間が入っていますか? 行は意図した範囲ですか?
その他の回答 (2)
- kkkkkm
- ベストアンサー率66% (1719/2589)
B列とD列が文字列として2013年8月と入力されているのだと思いますのでG1あたりの何も入力されていないセルの形式を日付に変更してそのセルでコピーしてD列とB列を選択して形式を選択して貼り付け演算で加算をチェックしてOKしてください。すべての行が各月1日の日付に変更されます。 表示形式を日付の2013年8月に設定し直してください。 その後マクロを実行してみてください。経過時間を計算するのでしたら逆で引き算しないといけないとは思いますが。
お礼
ありがとうございます。 月日から”/”の形式に変えたところエラー動きました。 何ヶ月も困っていましたので、助かりました。
- mdmp2
- ベストアンサー率55% (438/787)
Option Explicit Public num As Integer ※1 上の部分は削除してテストしてください。 これがあると、いちいち変数を定義しなければならないのでデバッグが面倒。 Sub newmacro() For num = 1 To Range("a1").End(xlDown).Row ※2 .End(xlDown).Row は削除してテストしてください。 Cells(num, "F").Value = (Cells(num, "D").Value + Cells(num, "E").Value) - (Cells(num, "B").Value + Cells(num, "C").Value) Next num ※1と※2 をやって、B,C,D,E 列に適当な時刻データを15行ほど入力し、A1=10 として実行してみました。動きました。
お礼
すみません。 説明が欠けていました。 B、D列は日付のデータが入っています。 ありがとうございます。
お礼
ありがとうございます。 教えもらったコードを実行したところ、一行目からエラーが生じました。 kkkkkmさんのご指摘のように、日付の形式が問題だったようで、 月日から”/”の形式に変えたところ、ushi2015さんのコードで動きました。 ありがとうございます。