
VBAで連続する名前ごとに以下の集計リストを作成したいのですが、
VBA初心者なので、どなたかVBAのコードを教えて下さい。 宜しくお願いします。
1)元データ(sheet1)から2)作成データ(sheet2)の集計表を作成。
①いちごorすいかなど、同じ名前も多く存在しますが、連続した名前ごとに、数量を小計したい。
②名前(りんご)は、1回のみもあります。
③先頭の名前(みかん)で、日付(日or5/1)を記入。
④元データのリストは、5/1から5/31まで200行ぐらいあります。
1)エクセル元データ(sheet1)
日付 名前 管理No. 数量
日 5/1 みかん E1001 300
日 5/1 みかん E1002 300
月 5/2 みかん E1003 150
月 5/2 りんご E1004 300
月 5/2 いちご E1005 300
月 5/2 いちご E1006 300
月 5/2 いちご E1007 300
火 5/3 いちご 未確定 未定
火 5/3 いちご E1009 残
火 5/3 すいか E1010 300
水 5/4 すいか E1011 300
水 5/4 すいか E1012 250
木 5/5 すいか E1013 残
木 5/5 いちご E1014 300
木 5/5 いちご E1015 300
金 5/6 いちご E1016 100
金 5/6 すいか E1017 300
金 5/6 すいか E1018 300
2)作成データ(sheet2)
日付 名前 数量
日 5/1 みかん 750
月 5/2 りんご 300
月 5/2 いちご 900
火 5/3 すいか 850
木 5/5 いちご 700
金 5/6 すいか 600
No.3ベストアンサー
- 回答日時:
こんばんは
イマイチ把握できていませんけれど・・・
・元データの日付はA列のみで、名前がB列、数量はD列と仮定
・作成データは、日付、名前、数量がA~C列で、タイトル、書式等は設定済みとします
Sub Sample()
Dim sRng As Range, dRng As Range, tmp
Dim rw As Long, sName As String, sSum As Double
Set dRng = Worksheets("Sheet2").Range("A1:C1")
dRng.Offset(1).Resize(Rows.Count - 1, 3).ClearContents
With Worksheets("Sheet1")
For rw = 2 To .Cells(Rows.Count, 2).End(xlUp).Row + 1
Set sRng = .Cells(rw, 1).Resize(, 2)
tmp = .Cells(rw, 4).Value
If Not IsNumeric(tmp) Then tmp = 0
If sRng(2).Text = sName Then
sSum = sSum + tmp
Else
If dRng.Row > 1 Then dRng(3).Value = sSum
Set dRng = dRng.Offset(1)
dRng.Resize(, 2).Value = sRng.Value
sName = sRng(2).Text
sSum = tmp
End If
Next rw
End With
End Sub
思っているような結果が得られました。たいへんありがとうございます。
vbaのコードがいまいち理解に苦しみますが、来週からの仕事が進みそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 ちなみになぜv=(v・e1)e1+(v・e2)e2はe1やe2が、正規直交基底でないと成り立たないと 2 2022/12/22 17:22
- 工学 以前、線形代数からフーリエ級数展開を導く上で 式v=(v, e1)e1+(v, e2)e2+…+(v 6 2022/06/29 17:24
- 数学 「(((a0)/2)・1, 1) …(a0)/2の1倍と1の内積 =(a0)(1, 1) …1 と1 5 2022/07/05 19:11
- Excel(エクセル) 条件付き書式の色付きセルのカウント方法について 2 2022/10/21 14:51
- Excel(エクセル) エクセルでのVBA 2 2022/08/03 06:48
- Excel(エクセル) EXCEL関数(数式)を教えてください 2 2022/06/08 18:32
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- 物理学 波の合成についてです E1(z,t)=A0cos(kz-ωt+Φ) E2(z,t)=A0cos(kz 1 2022/10/10 06:35
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Excel(エクセル) エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式 5 2023/02/22 23:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AS400へAccessから接続す...
-
自作のデータを配布したい
-
スタライズとは、どういう意味...
-
LVMでHDDが壊れた時の対応
-
アクセスでホームページのデー...
-
HDDが読み取れません
-
値がこの列の整合性制約に違反...
-
javascriptでデータ検索画面み...
-
VBでXMLデータをMS-ACCESS2000...
-
UNIX時間をEXCEL上で日付・時間...
-
SQL Server にファイルを登録、...
-
型 varchar から型 numeric へ...
-
オラクルのLONG RAW型のテーブ...
-
JavaとOracle Javaって何が違う...
-
sqlite2とsqlite3の違いについて
-
顧客管理ソフトのおすすめは?
-
データベースとweb画面
-
オラクルのバージョンとウィン...
-
掲示板とデータベースソフトの...
-
accessの利用方法について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
キャッシュとバッファの違いは?
-
スタライズとは、どういう意味...
-
Access 外部データ インポー...
-
値がこの列の整合性制約に違反...
-
SQL Server にファイルを登録、...
-
C#でint型をIntPtr型に変換した...
-
LVMでHDDが壊れた時の対応
-
エクセルを取引先に渡したら何...
-
EXCELの最大データ数
-
数字とテキストが入り混じるデ...
-
自作Androidアプリのデータ引き...
-
CSVファイル取込時の文字化けに...
-
Accessでタブ区切りのテキスト...
-
AS400へAccessから接続す...
-
顧客データの結合
-
エクセルで帳票システムを・・・
-
Thunderbirdのインポートの処理...
-
BINファイル破損データの復元方法
-
ビット数とデータ幅について
-
VB6.0 エクセルシートにデータ...
おすすめ情報