Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2241 / 2272 ツリー ←次へ | 前へ→

【3251】エクセルインポートの方法 DONTA 04/8/17(火) 17:22 質問[未読]
【3256】Re:エクセルインポートの方法 こもれび 04/8/17(火) 21:57 発言[未読]
【3258】Re:エクセルインポートの方法 DONTA 04/8/18(水) 11:03 発言[未読]
【3268】Re:エクセルインポートの方法 こもれび 04/8/19(木) 9:13 発言[未読]
【3270】Re:エクセルインポートの方法 DONTA 04/8/19(木) 9:42 発言[未読]
【3285】Re:エクセルインポートの方法 こもれび 04/8/20(金) 12:24 発言[未読]
【3287】Re:エクセルインポートの方法 こもれび 04/8/20(金) 13:48 発言[未読]

【3251】エクセルインポートの方法
質問  DONTA  - 04/8/17(火) 17:22 -

引用なし
パスワード
   初めて質問させていただきます。

Accessを使用してExcelのデータをインポートする処理を作成しています。
Excle側で[挿入]-[名前]-[定義]で、取り込めることはできるのですが、
Excleのデータが可変(行数が可変)の場合、VBAで制御できるのでしょうか?

よろしくお願いいたします。

【3256】Re:エクセルインポートの方法
発言  こもれび  - 04/8/17(火) 21:57 -

引用なし
パスワード
   こもれびです はじめまして。

>Excle側で[挿入]-[名前]-[定義]で、取り込めることはできるのですが、
>Excleのデータが可変(行数が可変)の場合、VBAで制御できるのでしょうか?

何らかの条件に当てはまる範囲に名前を付与されているのではないかと
思うのですが、Sheet単位でインポートしてSQLでデータを抜き出す
という手法は使えないでしょうか?

○ インポートしにくいExcelのSheetの例
  月毎の集計表を一つのSheetで作っている(4月は A列からE列、5月はG列からK列)

このような場合は、インポートする前にExcel側でSheetを分けたほうがよいと思います。

「データ(行)が可変になる」内容をもう少し詳しく教えていただけないでしょうか。

【3258】Re:エクセルインポートの方法
発言  DONTA  - 04/8/18(水) 11:03 -

引用なし
パスワード
   こもれびさん、ありがとうございます。

早速ですが、もう少し詳しい内容です。
Sheetは複数ある中のひとつが対象で、選択範囲を行いたいデータ行が50行になるのか100行になるのか未定です。

データ行の上下には文章(データではない)があります。
選択範囲の制御はできるのでしょうか?

【3268】Re:エクセルインポートの方法
発言  こもれび  - 04/8/19(木) 9:13 -

引用なし
パスワード
   こもれびです

わからない点がありますので、教えてください。
Excel側ではデータ行の行数によって、データ行下の文章はデータとの間を
移動するような全体のフォーマットなのでしょうか?
(データ行が50行であれば、文章はExcel行番号の65からスタートし、
 データ行が100行であれば、文章はExcel行番号の115からスタートする
 というイメージ)
それとも下の文章のスタート行は固定で、例えば115から動かないと考えれば
よいのでしょうか?

それと、気になるのが「選択範囲の制御」と書かれたところです。
これはAccessでExcelをオブジェクトとしてデータのある部分を
名前定義して、データインポートを自動化するということなのでしょうか?

最初に本文を読ませていただいたときは、見込まれる最大のデータ行を
名前定義してインポートして、SQLでデータの有る行を取り込めばよい
と考えていたのですが、どうもDONTAさんのお考えのものはそんな単純な?
ものではなさそうな気がしてきました。

【3270】Re:エクセルインポートの方法
発言  DONTA  - 04/8/19(木) 9:42 -

引用なし
パスワード
   こもれびさん、度々ありがとうございます。
DONTAです。

言われる通り、50行の場合は55行目からの文章、100行の場合だと105行目からの文章というイメージです。

毎回、Excel側で定義を設定するのではなく、自動化したいのですが・・・。

【3285】Re:エクセルインポートの方法
発言  こもれび  - 04/8/20(金) 12:24 -

引用なし
パスワード
   こもれびです こんにちは

データ行の一番下、データの有る列の最後のセル1個に手動で名前を付ける
(名前の定義)ことは許可されるものでしょうか?
例)「Lstcell」という名前
これがあれば全部自動化できます。

逆に、これ若しくはこれに代わる最後の行が判定できる目印がないと
データ行の下に文章がある限り、難しいのではないかなと思います。

【3287】Re:エクセルインポートの方法
発言  こもれび  - 04/8/20(金) 13:48 -

引用なし
パスワード
   追伸です

データ行の最後につけることが難しいようでしたら、データ行したの文章の
先頭行のデータのある最後の列にあたるセルに名前を付けるというやり方も
考えられます。
お使いのExcelのブックが一つの書式(テンプレート)とされているのでしたら
この方法のほうが、毎度セルの名前付けを行わなくても済むかなと思います。

2241 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078325
(SS)C-BOARD v3.8 is Free