エクセルvbaで、同じ番号の請求書の金額をまとめる方法を教えてください。
A B C D
11/5 B575 3000
11/5 B575 4500
11/6 B578 3000
上記のように A日付 B請求書番号 C請求金額 が入力されています。
D列に同じ請求書番号の合計金額をセルを結合して中央揃えで表示したいのです。
同じ請求書番号は固まって入力されています。ランダムではありません。
同じ請求書番号は最大で5つくらいです。
同じ請求書番号のないものは、D列にC列と同じものを表示します。
行は最大でも100行程度ですが、データの無いところで止まって終了とします。
ご多忙の中申し訳ございませんがよろしくお願いします。
No.3ベストアンサー
- 回答日時:
>行は最大でも100行程度ですが、データの無いところで止まって終了とします。
途中でデータがないところがあるという意味ではないと思いますが、データの最後のところまで調べます。
'標準モジュール推奨
Sub MacroTest1()
Dim i As Long, j As Long
Dim buf As Variant, ret As Double
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
buf = Cells(i, 3).Value
If Cells(i, 2).Value <> Cells(i + 1, 2).Value Then
If j = 0 Then j = i
With Range(Cells(j, 4), Cells(i, 4))
.MergeCells = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
If buf + ret > 0 Then
Cells(j, 4).Value = buf + ret
End If
Cells(j, 4).NumberFormat = "#,##0"
ret = 0: j = 0
Else
If j = 0 Then j = i
ret = buf + ret
End If
Next
''合計欄
'With Cells(i, 4)
' .NumberFormat = "#,##0"
' .HorizontalAlignment = xlCenter
' .Formula = "= SUM(R1C:R[-1]C)"
'End With
End Sub
この回答への補足
試してみました。
質問のサンプルでは無事に起動しました。
ありがとうございました。
実際は、C列はI列に、D列はK列になるので列の数字を修正(3=>9 4=>11)
したものを走らせたのですが、
これですと、
実行時エラー 13 型が一致しません
という表示が出てしまいます。
デバックを見ると
If buf + ret > 0 Then
のところで止まっています。
解決策はご存知でしょうか。
また、ファイルにはオートフィルターがかけてあります。
これが影響してしまうのでしょうか。
No.5
- 回答日時:
>C列はI列に、D列はK列になるので列の数字を修正(3=>9 4=>11)
これはこれで良いと思います。
>実行時エラー 13 型が一致しません
こちらで試してみましたが、エラーが出ませんので、たぶん、I列に数値データが入っていないからだと思います。以下のように直してみてください。
#3のコードの6行目付近の
buf = Cells(i, 3).Value
↓
buf = Val(Cells(i, 9).Value) '修正
No.4
- 回答日時:
NO1,2です。
対象のシートタブ上で右クリック→コードの表示→以下のコード貼り付けてお試しください。
Sub sample01()
Columns("D").Clear
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, "A") = "" Then Exit Sub
amnt = amnt + Cells(i, "C")
If Cells(i + 1, "B") = Cells(i, "B") Then
cnt = cnt + 1
Else
Range(Cells(i - cnt, "D"), Cells(i, "D")).Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.MergeCells = True
End With
Cells(i - cnt, "D") = amnt
amnt = 0: cnt = 0
End If
Next
End Sub
No.1
- 回答日時:
一例です。
(1)D1に=SUMIF(B:B,B1,C:C)として、フィルボタン(D1セルを選択すると右枠下の■表示される)をダブルクリック
(2)D列の同じ請求書番号セルを結合し、中央表示に書式設定して下さい
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) エクセル→ワード差し込み印刷 1 2022/10/05 17:32
- プロバイダー・ISP NTTグループカードの終了 2 2023/02/17 11:12
- 消費税 インボイスの事業者登録番号を仕入れ先から求められました? 3 2023/03/19 21:48
- 弁護士・行政書士・司法書士・社会保険労務士 法務局のオンライン申請・登記情報の確認・入手 2 2022/05/24 09:42
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- スーパー・コンビニ docomo請求書払い 2 2023/01/12 16:44
- 仕事術・業務効率化 使用中のソフトで、インボイス制度に対応する為の作業料が30万以上。普通? 4 2023/06/15 21:26
- au(KDDI) 先月の13日にauからUQモバイルに変えました UQモバイルの請求額みたら1番上の12668円ってい 6 2022/04/07 03:58
- 関東 航空券の座席指定 3 2022/06/21 19:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 指定した文字列を含...
-
エクセルで同じ名前ごとの合計...
-
エクセルVBA Unionはなぜ遅い?
-
エクセルvba 一つ上の行を指定...
-
エクセルで一部除外した数字を...
-
エクセル 並び替え
-
エクセルで2列を検索し2列とも...
-
エクセルで列内の同じIDの商品...
-
EXCEL VBA 指定範囲内で特定の...
-
エクセルマクロでA欄に値があ...
-
エクセルの関数SUBSTITUTEを、...
-
テキストボックス内の文字のふ...
-
Excelで数値→文字列変換で指数...
-
Excelで行ごとコピー、同じ行を...
-
エクセル
-
エクセルでグラフタイトルが折...
-
エクセル 入力中に表示されな...
-
Excelの関数について、特定の文...
-
エクセルにおける、グラフの指...
-
エクセルグラフの一括設定。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 指定した文字列を含...
-
エクセルで同じ名前ごとの合計...
-
エクセルの関数SUBSTITUTEを、...
-
エクセルVBA Unionはなぜ遅い?
-
桁数が混在する並び替えの方法
-
EXCEL VBA 指定範囲内で特定の...
-
エクセルで一部除外した数字を...
-
エクセルで列内の同じIDの商品...
-
Excelで自動的に並べ替えなんて...
-
エクセル マクロで列を連続し...
-
エクセルvba 一つ上の行を指定...
-
EXCELである列を上から順にチェ...
-
EXCEL 指定した曜日に番号を振...
-
エクセルで2列を検索し2列とも...
-
エクセル 並び替え
-
ExcelVBA:列方向の並び替え O...
-
アクティブセルのある行の任意...
-
エクセル VLOOKUPが反映されない
-
オートフィルについて(急ぎ!)
-
VBA マクロの組み方
おすすめ情報