0

過去に、データベースからデータを抽出し、テーブルを使用してフォーマットするWebサイトを作成しました。

今、私は同じことをExcelでやろうとしていますが、迷子になっています。私はSQLコマンドを使用して、指定されたフィールドからデータを抽出し、それを並べ替え/操作することに慣れています。

現在、生データが満載のExcelスプレッドシートを提供するレポートを印刷することはできますが、自分の生活を楽にしてレポートにまとめたいと思います。

参照したい列に重複がありますが、隣接する列のデータが異なります。

例を挙げると、販売取引のスプレッドシートがあるとします。1つの列は顧客IDであり、隣接する列には数量、ユニットあたりのコスト、合計コスト、注文IDなどが含まれます。

この場合、私がやりたいのは、同じ顧客IDを持つすべてのトランザクションを選択し、注文IDに基づいてそれらを合計することです。次に、結果を2枚目のシートに印刷します。

組み込み関数を使用してこれを実現できることはわかっていますが、VBAを使用してこのレポートを均等にフォーマットすることもできます。また、レポートごとに異なる行数が変動するため、行を追加できる機能はありません。

これはVBAで行う必要があると思います。

4

1 に答える 1

1

手動で行うこともできますが、時間がかかります。したがって、VBAは、特に将来のレポートをすばやく生成できるため、優れています。

私の解釈では、レポートの各行は1つの顧客IDの合計になります。それが何か他のものであるならば、私は以下がまだほとんど関連があると思います。

特にあなたが完全な詳細を提供していないので、あなたに完全な答えを与えることは少し多いと思いますが、あなたがすることを突き刺します:

  1. 新しいワークシートであろうと新しいワークブックであろうと、空のレポートページを作成します。

  2. テーブルをループします(おそらく、While nextが空ではない場合を使用します)

    a。行がまだカバーしていない顧客IDのものであるかどうかを識別する

    私。その場合は、レポートに新しいエントリを追加します

    ii。それ以外の場合は、既存の顧客IDレコードに追加します(見つかるまでループします)

  3. きれいに見えるようにレポートをフォーマットします。例:

    a。背景を白で塗りつぶす

    b。いくつかの塗りつぶされたバーを投げる

    c。良いタイトルや合計などを入れてください。

パート1では、最初に配列を作成してから、内容をレポートにダンプする方がよい場合があります。それはそれがどれほどプロセス集約的であるかに依存します-非常に激しい場合、アレイは時間を短縮する必要があります。

于 2012-09-20T05:37:05.270 に答える