おせわになります。。
エクセルVBA初心者です。
フィルターをかけて同じフィールドの条件を繰り返し行い、抽出がしたいのですがどのようにしたらできますでしょうか?
2008/10 会社A 10円
2008/10 会社B 12円
2008/10 会社C 20円
のように会社名ごとに金額を集計したいのですが会社名の数が多く、
かつ、今後も会社名が増えていくので
Selection.AutoFilter field:=1, Criteria1:=myKaisyaのようにCriteria1:=に変数をいれてループして全会社名を取得したいと考えてます。
なにぶん初心者なので行き詰っています。。
どなたかアドバイスいただけないでしょうか?
No.1
- 回答日時:
Excel(エクセル) VBA入門:Dictionaryオブジェクトを利用する
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
日付に関係なく会社毎の集計と言う場合には、私はこの方法を用いてます。
この回答への補足
n-junさん
ありがとうございます。
実は月で一度フィルタをかけ、集計しているのです。
しかし、教えていただいたURLを参考に色々と試してみたいと思います。
ありがとうございました。
No.2
- 回答日時:
コンなのは、会社名でソートして、会社名が切れる(変わる)まで足しこみ、変わったところでその時点の合計をセルに書き出せば簡単です。
オフライン・バッチ処理の常道。フィルタを使う方法も考えてみますが。
SUMIF関数で、会社名を変えて計算が出来るかもしれない。
夜遅いのでとりあえず。
この回答への補足
imogasiさん
ありがとうございます。
SUMIF関数ですね。調べて見ます。
ちなみに補足になるかわからないのですが、現在の流れはVBAで
1.月ごとでフィルタ
2.会社名でフィルタ
3.会社ごとに金額を抽出(合計金額はSUBTOTALで別セル表示している)
4.合計額を集計用の別シートに転記
5.月 会社名 合計金額 割合を出す。
といった感じです。
夜遅くにありがとうございました。
No.3
- 回答日時:
マクロなど組まなくてもピボットテーブルを使えば一発ではないでしょうか?
グルーピングして合計や個数や平均値などの算出が可能です。
この回答への補足
empeltさん
ありがとうございます。
調べてみたのですが、
確かにピボットテーブルを使えば一発かもしれませんね。
月 会社 金額 割合
VBAでどのように書いていくのか、さらに調べてみようと思います。
ありがとうございました。
No.4ベストアンサー
- 回答日時:
#2です。
VBAで、SUMIFで会社別合計をだすコード
例データ
A1:B12
会社名計数
A会社1
A会社2
B会社3
A会社4
C会社2
B会社4
A会社2
A会社6
B会社3
A会社2
C会社1
ーーー
F1:F3 会社名<-フィルタオプションの設定、重複するレコードは無視する、で会社名一覧を作る。
F列 G列
A会社17
B会社10
C会社3
ーー
コード
標準モジュールに
Sub test01()
d = Range("A65536").End(xlUp).Row
d1 = Range("F65536").End(xlUp).Row
For i = 1 To d1
Cells(i, "G") = Application.SumIf(Range("A2:A" & d), Cells(i, "F"), Range("B2:B" & d))
Next i
End Sub
ーーーー
結果
上記G1:G3
ーーー
>全会社名を取得したいと考えてます
会社名だけなら、エクセルの操作である
データ
フィルタ
フィルタオプションの設定
その中の「重複するレコードは無視する」にしてマクロの記録をとれば、コードはわかります。
この回答への補足
imogasiさん
2度にわたりアドバイスを頂き、ありがとうございます。
>>全会社名を取得したいと考えてます
>会社名だけなら、エクセルの操作である
>データ
>フィルタ
>フィルタオプションの設定
>その中の「重複するレコードは無視する」にしてマクロの記録をとれば、コードはわかります。
はい♪ コード取れました!!
For文の方は、明日以降試してご報告させていただきます。
助けていただき本当にありがとうございます!
No.5
- 回答日時:
金額の合計が知りたいだけですか?
金額が入力されてる所を全部選択すれば下に合計が出て来ますよね?
出て来なかったら 右クリックして「合計」を選べば良いかと思うのですが。
この回答への補足
ookami1969さん
アドバイスありがとうございます。
今回は、知人の会社で使用する為、VBAでできるバッチ処理を作成しております。
知人いわく、操作/知識があやふやなので余計な操作をせずに
ボタン一つで処理が完了するようにとの要望でした。
ですが、
わざわざこのような質問にお時間を割いていただき
感謝しております。
ありがとうございました。
No.6
- 回答日時:
ANo.1です。
Dictionaryオブジェクトのサンプルです。
データがA~C列にあり、結果をE・F列に書き出すものとします。
Sub test()
Dim Dic As Object
Dim i As Long
Dim v
Set Dic = CreateObject("Scripting.Dictionary")
With Worksheets("Sheet1")
v = .Range(.Range("B1"), .Cells(Rows.Count, 3).End(xlUp)).Value
For i = 1 To UBound(v, 1)
Dic(v(i, 1)) = Dic(v(i, 1)) + v(i, 2)
Next
.Range("E:F").ClearContents
.Range("E1").Resize(Dic.Count, 2).Value = _
Application.Transpose(Array(Dic.keys, Dic.items))
End With
Set Dic = Nothing
Erase v
End Sub
ご参考まで。
この回答への補足
n-junさん
二度にわたるアドバイスありがとうございます。
Dictionary大変参考になりました。
なんとかかんとか、解決できましたので
質問を締め切らせていただきます。
参考になった順にポイントをつけさせて頂きます。
皆様
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 投資・株式の税金 一般口座で同一銘柄の総平均法のことで 1 2023/02/27 22:08
- 分譲マンション 皆さんの管理組合では)共用部分の修繕工事業者の選定は→どう選定されておられますか? ①管理会社へ丸投 3 2022/10/06 22:07
- 分譲マンション マンションの補修工事の施工業者の工事の見積書の工事額は→①自社の作業員による,自社内で完全直接施工方 3 2022/09/12 23:31
- 財務・会計・経理 IT導入補助金について教えて下さい。 社員4名の小さな会社です。 事務は私一人なので、IT化を進めて 1 2022/05/05 13:31
- 所得・給料・お小遣い 最後の給料 4 2022/12/12 03:14
- カードローン・キャッシング 借金の毎月の返済額を減らして新たに借金しない方法 クレジット会社4社の返済に追われています。 リボ払 2 2022/05/22 10:36
- 簿記検定・漢字検定・秘書検定 他社に負担してもらったお金。自社にとっての勘定科目は何になる? 4 2022/09/29 09:40
- 公認会計士・税理士 株式会社のメリットについて 5 2022/07/08 08:30
- その他(資産運用・投資) 米ドル建MMFについて 投資初心者です。 最近の円安を受けて、米ドル建MMFを円に替えようと思ってい 2 2022/06/14 14:47
- 金銭トラブル・債権回収 商社勤務です。 販売してる商品の梱包材を買い取ってくれる業者がいます。月に約3〜4万くらいになります 3 2023/03/18 17:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
Microsoft1Officeの互換ソフト...
-
Excel ピボットテーブルで日付...
-
エクセル関数を教えてください
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
LOOKUP関数を使えばいいのでし...
-
エクセル 白黒印刷で白線を印刷...
-
【関数】先頭だけにある、半角...
-
【関数】適切な文字数の数字を...
-
Excelのチェックボックスの使い...
-
エクセルでの作業計算方法について
-
Excelのpivotについて質問です
-
WPS OFFICEでの縦書きについて
-
時間によってファイル名が変わ...
-
エクセルのセルに同じ大きさの...
-
Aというブックの1というシート...
-
エクセルの順位別一覧表の自動...
-
西暦や和暦の表示をyyyymmdd表...
-
【マクロ】エクセルにかいてあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報