2016-06-27 9 views
0

この式を持つセルで2つの差異時間を計算します。vba数式R1c1連結

EX:

2016年6月22日10時19分26秒AM、2016年6月24日10時33分57秒AM

がどのように私はVBAでこれを書くには? 私はR1C1で実行しようとしました:これは、アプリケーション定義またはオブジェクト定義のエラーを示しています

Range("A1").FormulaR1C1 = "=INT(RC[4]-RC[3])" & " days, " & "Hour(RC[4]-RC[3])" & " hours, " & "Minute(RC[4]-RC[3])" & " minutes and " & "Second(RC[4]-RC[3])" & " seconds" 

私はこのような結果たい:

2 days, 0 hours, 14 minutes and 31 seconds 

答えて

1

現在、あなたが優れて給餌されている式は、あなたがCONCATENATE関数を呼び出すことができ

=INT(RC[4]-RC[3])days, Hour(RC[4]-RC[3]) hours, Minute(RC[4]-RC[3]) minutes and Second(RC[4]-RC[3]) seconds 

です。だからあなたのコードはこのようになります。

Range("A1").FormulaR1C1 = "=CONCATENATE(INT(RC[4]-RC[3]), "" days, "", Hour(RC[4]-RC[3]), "" hours, "", Minute(RC[4]-RC[3]), "" minutes and "" ,Second(RC[4]-RC[3]), "" seconds"")" 
+0

@ScottHoltzman私は文言を修正しました。それが唯一の方法ではないという事実を反映させるために – litelite

+0

ありがとうございました!チャームのように働きました! – mdmlll

1

問題は、実際の式で引用符(VBAで)エスケープする必要があり、紛失、いくつかの引用符があるということですが。

Range("A1").FormulaR1C1 = "=INT(RC[4]-RC[3]) & "" days, "" & Hour(RC[4]-RC[3]) & "" hours, "" & Minute(RC[4]-RC[3]) & "" minutes and "" & Second(RC[4]-RC[3]) & "" seconds"" 
+1

私はこれに取り組んでいて、あなたがしたことを正確に行い、間違いを犯すと誓っていました。 –

+0

@ScottCraner - それは私にもいくつかの試みがありました:)質問に答えるための不満な仕事をしています! –

+0

ありがとうございました! – mdmlll