No.2ベストアンサー
- 回答日時:
対応方法はANo.1さんが、答えていますので省略しますが、
別の気になる点があります。
VBのバージョンは何なんでしょう?
以下はVB6の前提での話です。
> 日付型変数dt,AdtBの値
とありますが、ちゃんと「日付型変数」になっていたら、
> dtC=dtA+dtB
は、「型が一致しません」というエラーにはならないと思います。
ひょとして、変数宣言を
> Dim dtA, dtB, dtC As Date
の様にしていませんか?
もしそうなら、日付型になるのは、dtCだけで、dtAとdtBは型宣言無し(結果的にVariant型)です。
そうすると、
> dtA="01:00:00"
は、単なる「文字列の代入」で「日付型」とは看做されません。
そのため、
> dtC=dtA+dtB
の「+」は、文字列「dtA」と文字列「dtB」の連結(文字列を単に繋げる)の意味になり、
> dtC="01:00:0000:00:30"
言う式になり、日付型に変換できないので「型が一致しません」となってしまいます。
複数の変数を1行で型宣言する場合は、
> Dim dtA As Date, dtB As Date, dtC As Date
の様に、1つづつ型を指定しなければいけません。
#ちなみに、VB.NET以降は、データ型の考え方が変わったので、
#この話は当てはまりません。
余談かもしれませんが、念の為。
dsuekichi様
ご指摘の通り、
Dim dtA, dtB, dtC As Date
と宣言しておりました。実はこれまでずっとこのようにAsは行の最後にしか記述してきませんでした。
基本が抜けていたようで、大変勉強になりました。
ありがとうございました。
No.1
- 回答日時:
ちゃんと日付型に変換すべきでしょう。
'-------------------------------------
Private Sub Command1_Click()
Dim dtA As Date
Dim dtB As Date
Dim dtC As Date
dtA = CDate("01:00:00")
dtB = CDate("00:00:30")
dtC = dtA + dtB
MsgBox dtC
End Sub
'-------------------------------------
外しましたらご容赦願います。
onlyrom様
早々にご回答頂、ありがとうございます。
CDate関数で変換して、ちゃんと計算できました。
Excelでは、01:00:00のまま直接演算が出来たので、VBでもそのまま足してしましました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- 物理学 2物体の単振動 1 2023/08/17 20:27
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- その他(プログラミング・Web制作) Visual Studio Code 関数の使い方について 3 2023/05/31 13:15
- 数学 x=r・cosθの2回微分 θ=ωtとすると? 5 2022/05/10 23:53
- 数学 「FFTの基本は、DFTはサンプル数Nが偶数なら 2つのDFTに分解できるということ。 分解するとD 3 2022/03/31 21:01
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- 数学 初歩がわからない 分数の計算 1 2022/03/26 11:47
- 数学 単位元について 2 2022/09/11 22:56
- Excel(エクセル) Excelの関数で可能でしょうか、日付や式の値の自動更新 4 2023/05/19 17:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームのラベルに日...
-
3人のじゃんけんのプログラム
-
Eclipseの対応する括弧の強調表...
-
VBA 日付、未来の日付はエラー...
-
コンボボックスに日付を表示する
-
VisualBasic6.0のFormat関数で...
-
Googleフォームで選択肢に応じ...
-
DataGridViewでyyyy/MM/dd
-
VBAの質問になります 行の非表示
-
今日より前の書き方 マクロ
-
C++で日付判定を行いたい!!
-
指定した日付が、その月の第何...
-
【VBA】土日をスキップして日付...
-
C#で日付をdateTimePickerに読...
-
【Excel VBA】条件に合った行の...
-
ExcelVBAでSQLサーバの日付時刻...
-
VBAで日付入力しているのですが
-
VBAで当月の1日を表示するには...
-
コンボボックスの値を日付とし...
-
DataGridViewの和暦表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAの質問になります 行の非表示
-
ユーザーフォームのラベルに日...
-
Googleフォームで選択肢に応じ...
-
エクセルのVBAで日付を検索し転...
-
VisualBasic6.0のFormat関数で...
-
システム日付とは?
-
Eclipseの対応する括弧の強調表...
-
【VBA】土日をスキップして日付...
-
DataGridViewでyyyy/MM/dd
-
【Excel VBA】条件に合った行の...
-
VBAで当月の1日を表示するには...
-
VBA 日付、未来の日付はエラー...
-
JSPからYYYYMMDDで日付入力する
-
VB6.0 のformat関数について
-
指定した日付が、その月の第何...
-
VBで時間計算
-
VBAのオーバーフローについて質...
-
今日より前の書き方 マクロ
-
テキストボックスに今日の日付...
-
3人のじゃんけんのプログラム
おすすめ情報