仕事で、AccessのデータをExcelに貼り付けて使っています。
Aというオブジェクトは1~31のIDが振れるのですが
途中欠番がある際はその番号を使うというルールになっています。

Aというオブジェクトは、BとCというオブジェクトの先にあり
Bは約1000個、Cは9個のデータがあります。

現在は、Bで特定したオブジェクトに、Cの1~9のどれが当てはまるかを調べ
そこで出てきたAというオブジェクトが現在何番までIDが振られているか、欠番は何番か
を確認し、最終的にAにIDを振っています。

現在、手作業でやっているため、ミスが多いです。

このような作業をAccessもしくは、Excelで何か関数やマクロを組むという作業で
自動化できないものかと悩んでおります。

どなたかご指導願えませんか。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

Excel VBA できっとできそうですが、この説明では何がしたいのか


わかりません。

>オブジェクトというのは、IDのある装置でして
>Bという装置にはIDがあります。

オブジェクトとか装置とかIDではなくて、「A列のセルには」とか
ExcelやAccessの言葉で要求事項をはっきりさせて質問してください。
    • good
    • 0

「オブジェクト」とか「先にある」の言葉が曖昧なので、具体的な回答はできませんが、アクセスでやるのが簡単だと思います。



さまざまなやり方があると思いますが、私がやるなら、
AのIDを探すファンクションをモジュール上に作ることと、出力用のクエリを一個作ると思います。
ファンクションに関してはBのIDか何かの値を渡して、AのIDを返してもらうものを作ればよいのだと思う。

VB(A)はどの程度わかりますか?
ADOは使ったことがありますか?

この回答への補足

お答えありがとうございます。
オブジェクトというのは、IDのある装置でして
Bという装置にはIDがあります。
それは9個、配下に細分化されます。(C)
その先にA という31個IDが振れる構成です。



B(1)-C(1)-A(1)
 ...  (2)  (2)
(1000)(3) (3)
      ...  (4)
     (9)  ...
          (31)

図にするとこのようになります。

VBAはほとんど分かりません。
GUIで操作できるExcel関数かAccessの操作方法を
教えていただけないでしょうか。       

補足日時:2011/04/28 20:25
    • good
    • 0

関数とExcelの機能の範囲でやりますと



それぞれシート毎に分けてExcelに格納
>Bで特定したオブジェクトに、Cの1~9のどれが当てはまるかを調べ
Lookup関数で規則性に従ってBにCのデータを繋げる
>そこで出てきたAというオブジェクトが現在何番までIDが振られているか、欠番は何番かを確認
ID順でソートを掛け、最後の番号と欠番を洗い出す


ACCESSであれば、それぞれを繋げ(Union)れば
BからAまでつながったレコードになるかと思いますし、ビューにする事も出来たと思いますが
今一つACCESSに詳しくない物で・・・^^;
    • good
    • 0

AccessもExcelも、「手順をきっちり書きだすことが出来れば大概の作業は可能」なソフトです。

ですので、マクロ・・・というかVBAのコードを書けば「出来ます」

ただ問題は、この「手順」をきっちり書きだすことが出来るかどうかでして、

>Bで特定したオブジェクトに、Cの1~9のどれが当てはまるかを調べ

これが例えば

B1=Function1(何かの条件)
C1(1~9)=Function2(B1)
A1(1~31の欠番)=Function3(C1)

という様な形の3つの「関数」を定義する必要があるんです。

更に言えば、「Aの使用後、番号をどうやって消すか(欠番の作り方)」や「Bのオブジェクトの決め方」「BのオブジェクトでCが出てこなかった場合の手順」「Aに欠番が無かった場合の手順」「Aに複数の欠番があった場合、どういう順序で番号を振るか」など、決めることが非常に細かく、やまほどあります。

まずこの辺を「初めてのパートの人が、その書類を見ただけで(時間が掛っても)作業が出来るような手順書」を作ってみて下さい。これが出来ないとVBAのコードが書けませんよ。

ちなみにこの「手順書」って、専門用語で言うと「システム設計書」になります・・・。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング