Excelに関する質問事項が多い中で、該当する回答が見つけられなかったので(検索ミス?!)
質問しました。
VBのフォーム上に複数のチェックボックスが存在し、チェックボックスで選択された項目を
該当するExcelファイルの該当するシートから取得したいのですが、複数シートからまとめて
抽出することはできるのでしょうか?
現在Excelファイルは、フォーム上のチェックボックス単位でシート分けをしている作りに
しています。ちなみに、チェックボックスの項目名称と抽出対象となりシート名が連動して
います。(チェックボックスのTagプロパティにシート名を設定しています)
もう一点、各シートから抽出する場合、それぞれのシート毎に抽出範囲が異なります。
(この辺は、とりあえず決め内でRange()で範囲することで・・・)
抽出範囲が動的に変更になる可能性があるのですが、どう判断すれば良いでしょうか?
VBとExcelは苦手なコンビで四苦八苦してます・・・
(せめて・・・ちゃんとしたDBなら・・・)
宜しくお願いします。
環境:Windows2000, VB6.0, Excel2000, Microsoft Excel 9.0 ObjectLibrary使用
検索ミスというより設計ミスじゃない?100%質問者が
のぞむサンプルがこの世に存在するわけがないんだから、
自分が実現したい処理を分割して、一般的に利用できる
サンプルコードの組み合わせで実現することが必要なのに、
考えてないのでしょう?プログラムである以上、最終的には
用意されたコマンドの組み合わせで実現する必要があるの
だから、処理の分割は基本中の基本。それを理解するために
プログラミングの入門書ではフローチャートとか書くわけです
が、プログラムをするのであれば、入門書を読んで、せめて
初心者レベルの知識はつけて頂きたいです。
>複数シートからまとめて抽出する
必要性を感じません。チェックボックスで読み込むシートを
選択したり、セル範囲を変えたりするんでしょ?逆に
まとめてデータを取得した方がデータ解析が面倒なのでは?
1つのシートから読み取る処理を、チェックがついている
シートのみループして実行すれば良いだけでは?
…で、DBという言葉がありますので、読み込んだデータ
を検索したり加工したりすると仮定して、これは読み込む
処理とは関係ありません。読み込んだデータをどう管理
するかです。DBを扱った事があるのであればローカルで
ADODB.Recordset を作ってみるとか。Collection や
Dictionary といったオブジェクトで管理しても良いと
思います。読み込むときは読み込みやすい処理で、
データの管理は管理しやすいオブジェクト(変数)で、
…自分の好きな形に加工するのが『プログラム』です。
1行命令を書けば自分が理解できる形にデータが
取れてくれるのは『夢』とか『奇跡』とか『偶然』です。
>抽出範囲が動的に変更になる可能性があるのですが、どう判断すれば良いでしょうか?
…何を判断?自分の決めたように好きな形で判断して下さい。
抽出範囲を誰がいつ変更するかは、説明がないとこちら
では分からないことです。
Range で指定する事は分かってるんだから、アドレスを
指定すれば良いのでは?普通に TextBox に文字列で
入力してもらうだけで実現できると思いますが?まぁ、
通常 Excel で範囲指定する時は InputBox が表示
されますから、それを[VB6.0]から呼び出して利用する
くらいはしますか。
複数シートがあって
それぞれのシートに決められた項目のデータがあるのなら
その項目の列全体を名前定義してあげれば
シートを意識せずにアクセスできますよ。
例 Range("項目1").Cells(y,x)
Range("項目2").Cells(y,x)
(この2つは別のシートにある。)
>(せめて・・・ちゃんとしたDBなら・・・)
なら、エクセルファイルをDBとしてアクセスすれば
簡単に出来るのかな?
> 1行命令を書けば自分が理解できる形にデータが
> 取れてくれるのは『夢』とか『奇跡』とか『偶然』です。
それと『(自作した)関数』
...ゴメン
> 該当するExcelファイルの該当するシートから取得したいのですが、
> 複数シートからまとめて
> 抽出することはできるのでしょうか?
「まとめて」の表現が何を意味するかは分かりませんが、
複数シートのそれぞれ特定されたセルの値を抽出することは出来ます。
↓の情報を元に、コーディングされては?
http://www.bcap.co.jp/hanafusa/VBHLP/excelframe.htm
> 抽出範囲が動的に変更になる可能性があるのですが、
> どう判断すれば良いでしょうか?
抽出範囲が動的に変更になる可能性がある。と記述されていますが、
抽出範囲はどのようなルールで動的に変更になるのか説明がない為、
判断の仕方をアドバイスすることは私には出来ません。
特攻隊長まるるうさんの言ってることわかるけど、言い方きつい
ツイート | ![]() |