【新発想】ノーコードでExcelを自動化する方法

VBAマクロ作成アプリ NoCodeVBA

MENU

項目ごとに値を集計し、合計表を表示する

無料アプリで、すぐにエクセルVBAマクロを作成できます。

例として、「項目ごとに値を集計し、合計表を表示する」VBAマクロを作成します。

(ページの末尾に、VBAコード掲載)

事例

商品(C列)の金額(F列)を集計します。

 できました(^^)/

アプリの設定

アプリのトップページ 

 ⇒▼合計を表示

 ⇒項目ごとに値を集計し、合計表を表示する

表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。

Sub デモ_108() '項目ごとの値を集計し、合計表を表示する
 Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
 '◆辞書のkeyに項目名、itemに集計数をいれる
Dim 辞書 As Object, 行 As Long, セル As Range
Set 辞書 = CreateObject("Scripting.Dictionary")
Sheets("データ").Select
For 行 = Range("c1").Offset(1, 0).Row To Cells(Rows.Count, Range("c1").Column).End(xlUp).Row
    Set セル = Cells(行, Range("c1").Column)
    If 辞書.Exists(セル.Value) Then
       辞書(セル.Value) = 辞書(セル.Value) + Cells(行, Range("f1").Column).Value
    Else
       辞書.Add セル.Value, Cells(行, Range("f1").Column).Value
    End If
Next 行
'◆集計結果を2次元配列に入れる
Dim 配列 As Variant, キー As Variant, 配列行 As Long
ReDim 配列(辞書.Count - 1, 1)
配列行 = 0
For Each キー In 辞書
    配列(配列行, 0) = キー
    配列(配列行, 1) = 辞書.Item(キー)
    配列行 = 配列行 + 1
Next

'◆以前の集計表をクリアする
Sheets("データ").Range("h1").CurrentRegion.Clear

'◆集計表の見出しをいれる

Sheets("データ").Range("h1") = Sheets("データ").Range("c1").Value
Sheets("データ").Range("h1").Offset(0, 1) = Sheets("データ").Range("f1").Value

'◆配列に入れたデータを書き出す

Sheets("データ").Range("h1").Offset(1, 0).Resize(辞書.Count, 2) = 配列

'◆

Sheets("データ").Range("h1").CurrentRegion.Borders.LineStyle = True
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub

 

マクロを使うメリット

手作業で数分かかる作業が、1秒で終わります。

ぜひ、アプリをご利用ください。

 

アプリはこちらから↓↓↓↓