@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

VBプログラムからExcelの制御方法について

1
投稿者投稿内容
ハンドル
会議室デビュー日: 2008/01/25
投稿数: 16
投稿日時: 2009-02-26 11:39
VB2005でExcelを加工するプログラムを組んでいます。

@あるExcelファイルから中身を取り出す。
A取り出した中身を新規エクセルファイルに出力する。
B出力した新規エクセルファイルを並び替える。
C出力した新規エクセルファイルを集計する。

上記処理で@、AはExcelCreatorを使用してできました。
しかしB並び替え、C集計がExcelCreatorの標準機能では不可能でした。
他に方法はないでしょうか?

VBプログラムからExcelファイルのデータ並び替えをする方法とは?
VBプログラムからExcelファイルのデータ集計をする方法とは?

ExcelCreator(http://www.adv.co.jp/products/product_ExcelCreator2007.htm)
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2009-02-26 12:07
引用:

ハンドルさんの書き込み (2009-02-26 11:39) より:

(1) あるExcelファイルから中身を取り出す。
(2) 取り出した中身を新規エクセルファイルに出力する。
(3) 出力した新規エクセルファイルを並び替える。
(4) 出力した新規エクセルファイルを集計する。

(1)、(2)はExcelCreatorを使用してできました。


私も (1) と (2) はわかるのですが、(3) と (4) に関しては詳細がわからないのでお答えできないです。 "並び替え" とは '何を' どういうルールで並び替えをするのでしょうか? 集計に関しても同様です。

仮に 'セル' に対してであれば、セルの値を参照するようにすれば良いわけですが、これはいくつかの方法があります (Excel 側からすると結果はどれも同じようなものですが)。 マクロの埋め込みが可能であれば、VB からマクロの実行をして結果を受け取る方法も可能ですし、Office PIA + ScriptControl を使う方法もあります。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ハンドル
会議室デビュー日: 2008/01/25
投稿数: 16
投稿日時: 2009-02-26 13:13
引用:

じゃんぬねっとさんの書き込み (2009-02-26 12:07) より:
"並び替え" とは '何を' どういうルールで並び替えをするのでしょうか? 集計に関しても同様です。

仮に 'セル' に対してであれば、セルの値を参照するようにすれば良いわけですが、これはいくつかの方法があります (Excel 側からすると結果はどれも同じようなものですが)。 マクロの埋め込みが可能であれば、VB からマクロの実行をして結果を受け取る方法も可能ですし、Office PIA + ScriptControl を使う方法もあります。



お答え有難うございます。
"並び替え"に関してですが、下記のような表があったとしてID&NAME順に並び替えを行いたいのです。集計に関してはVALUEの合計の集計を行いたいと考えています。
コード:
ID  | NAME | ADDRESS | VALUE
----------------------------
 3  | AAA  | 125-2   | 100
----------------------------
 2  | BBB  | 125-2   | 200
----------------------------
 3  | AAA  | 222-3   | 300
----------------------------
 1  | CCC  | 125-2   | 150
----------------------------



エクセルでマクロを作成してそれを実行するにはどのようなコードを書くのでしょうか?
サンプルになるようなコードがあるURLなどがあったら教えて下さい。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2009-02-26 13:31
引用:

ハンドルさんの書き込み (2009-02-26 13:13) より:

エクセルでマクロを作成してそれを実行するにはどのようなコードを書くのでしょうか?
サンプルになるようなコードがあるURLなどがあったら教えて下さい。


過去ログにサンプルコードがありましたのでこちらをご覧ください。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30837&forum=7&start=3

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
未記入
会議室デビュー日: 2008/09/21
投稿数: 5
投稿日時: 2009-02-26 23:22
こんばんは

こんな順番でできるんじゃないでしょうか?

1.あるExcelファイルから中身を取り出す。
2.取り出した中身をVBで整形・集計する
3.整形・集計したデータをExcelCreatorで新規ファイルに出力する。

2の整形はDataTableにでも入れてしまえば簡単じゃないかと。
集計に関しても、普通にVBでDataTableの中の必要なデータを合計してやればいいかと思います。
1

スキルアップ/キャリアアップ(JOB@IT)