下記データの羅列について、VBAで合算したいです、、
【データの羅列】
1行目はタイトル行で2列目以降はデータ(間に空白行は存在しません)
A列 B列 C列 D列
1 日付 名前1 名前2 時間
2 2018/7/22 AAAA BBBB 1:00
3 2018/7/22 AAAA BBBB 2:00
4 2018/7/29 AAAA BBBB 0:30
5 2018/7/29 CCCC DDDD 1:00
6 2018/7/29 CCCC DDDD 0:40
↓A列,B列,C列が全て同じデータの場合、D列の数量を合算して一つにまとめる。
A列 B列 C列 D列
1 日付 名前1 名前2 数量
2 2018/7/22 AAAA BBBB 3:00
3 2018/7/29 AAAA BBBB 0:30
4 2018/7/29 CCCC DDDD 1:40
以下の過去のベストアンサーを参考にVBAを作成しようと思ったのですが、
(参考回答:https://oshiete.goo.ne.jp/qa/10787788.html)
VBA初心者のため、時間を足し合わせるための改修方法が分かりませんでした。。
何卒ご教授いただけると幸いです。
No.1ベストアンサー
- 回答日時:
こんばんは
>時間を足し合わせるための改修方法が分かりませんでした
時間表示のセルの値の形式がわかりませんけれど・・
セルの時間値がシリアル値(=エクセルの日付・時間型の値)になっているのなら、単純に数値の加算で計算できますので、特に変更する必要もないと思われます。
シートの計算式で時間の入っているセルに対して、
= D2 + D3
のようにして計算するのと同様です。
結果が24時間を超える様なら、セルの書式設定を「 [h]:mm 」などとしておけば、時間表記で表示されると思います。
もしも、D列が文字列等で入力されているのなら、あらかじめシリアル値に置き換えておけばよいでしょう。
あるいは、VBAの処理内で加算を行う前に TimeValue 関数でシリアル値に変換してから加算するとか。
https://learn.microsoft.com/en-us/office/vba/lan …
ご回答くださり、ありがとうございました!
fujillin様のおっしゃる通り、時間の合算は問題なく行われており、
セルの値の形式の問題でした。
合算先の表示形式を「 [h]:mm 」に変更したところ、想定していた値が表示されました。
この度はご助言くださり、ありがとうございましたm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
えABのある列って
-
LEFT関数とIF関数の組み合わせ...
-
CSVファイルの「0落ち」にVBA
-
土日の列幅の自動変更を教えて...
-
エクセル 重複したデータを別...
-
VBAで別ブックの列を検索し、該...
-
最終行に合計(最終行が列によ...
-
エクセル 選択するマクロ
-
オートフィルターの複数抽出と...
-
VBAで結合セルを転記する法を教...
-
データシートビューのタイトル...
-
百マス計算の引き算作り方を教...
-
Excel2007で行の列をひとくくり...
-
アクセス 取り込み時に、桁数(...
-
エクセルマクロでオートフィル...
-
csvデータの列の入れ替えができ...
-
エクセルマクロ、アウトライン...
-
Excelの行数、列数を増やしたい...
-
エクセルでB列とD列を比較させ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA 指定した列にある日時デー...
-
CSVファイルの「0落ち」にVBA
-
エクセルで複数列の検索をマク...
-
Excelの行数、列数を増やしたい...
-
エクセルマクロの組み方
-
エクセルマクロPrivate Subを複...
-
リストからデータを紐付けしたい
-
エクセルのソートで、数字より...
-
エクセルで住所を県と市・郡と...
-
VBAで別ブックの列を検索し、該...
-
VBA
-
Excel文字列一括変換
-
エクセル 重複 隣の列 一番...
-
列方向、行方向の定義
-
Alt+Shift+↑を一括で行うには、...
-
VBAで結合セルを転記する法を教...
おすすめ情報
(回答してくださった方のコメントを踏まえて補足です。)
>セルの値の形式
足し合わせようとしていた元の値の形式は、ユーザ定義の「 [h]:mm 」でした。
そして、足し合わせた結果「1:00」と表示されていたものが「0.0416666666666668」になり、うまくいっていない状況でした。