[Excel] 抽出条件にセル値を使うには?
|
■2612 / inTopicNo.1) |
抽出条件にセル値を使うには?
|
□投稿者/ お茶 -(2006/07/12(Wed) 20:34:40)
記事内容:[Excel]
外部データ取り込みでアクセスのデータを取り込むのですが、 抽出条件にセルの値を利用したいのですが、マクロの記述 はどうすればよいのでしょうか。
アクセスデータ 製品番号 名称 型式 個数 金額 ・・・・ 550022AA せっけん SEKKENN 1 5000 550023AB シャンプー SYANNPUU 1 6500 550024SB リンス RINNSU 1 5000 550025AA ブラシ BURASHI 1 3000
A1セルに「550024」があります A1セル値で始まる製品番号のデータを抽出したいのです。 LIKE Range("A1").Value &"%" マクロの記述をどのようにすればよいか教えて下さい。 よろしくお願いします。
|
|
■2613 / inTopicNo.2) |
Re[1]:
抽出条件にセル値を使うには? |
□投稿者/ y sakuda -(2006/07/12(Wed) 22:04:31)
http://www16.plala.or.jp/ysakuda/
抽出とは具体的にどこにどうしたいのでしょうか? マクロではなく データ⇒オートフィルタ でA列のフィルタ条件で 5500024 で始まる で済むと思いますが? また、どうしてもマクロでやる場合、ループの作り方などはお分かりなんでしょうか?
|
|
■2614 / inTopicNo.3) |
Re[2]:
抽出条件にセル値を使うには? |
□投稿者/ お茶 -(2006/07/12(Wed) 23:14:07)
1つのエクセルファイルをひな形としてファイル名を作り、上記例でいくと 550022.XLSから連番でひな形のコピーを作ります。
A1のセルにファイル名を取得しておけばA2セル位置に外部データとし て取り込むことでファイル毎に抽出条件を変更しなくてもファイル名が 抽出条件にできるようにしたいからです。
抽出条件に直接入力すれば簡単ですが、それは作るファイル数が少 なければそうしてもよいと考えますが、ファイル数が多いため手間を省い て手動によるミスを防ぎたいのです。
|
|
■2615 / inTopicNo.4) |
Re[3]:
抽出条件にセル値を使うには? |
□投稿者/ y sakuda -(2006/07/13(Thu) 00:11:17)
http://www16.plala.or.jp/ysakuda/
手動処理ではやりたくない事情は分かりましたが、何をなさりたいのか 今一つ分かりませんので整理させてください
1.Accessデータを外部データの取り込みでExcelシートに取り込んであり、 それをコードグループ毎にExcelブックに分けて保存したい 2.AccessDBから直接コードグループ毎のデータを抽出してExcelブックに 落としたい また、この場合ExcelでやろうとしているのかAccessでやろうとしているのか? #私はAccessのマクロは全く分かりません
|
|
■2616 / inTopicNo.5) |
Re[4]:
抽出条件にセル値を使うには? |
□投稿者/ お茶 -(2006/07/13(Thu) 09:22:50)
DBがORACLEで作られたソフト(以下DK)があり、EUCが含まれているの でACCESSを使ってリンクテーブルを作成します。 リンクテーブルから全レコードを対象に必要なフィールドのみをクエリにて一 覧を作っておきます。・・・「A」
EXCELにて「データ」-「外部データの取り込み」-「新しいデータベースク エリ」を行い、「A」をリンクでEXCELに貼ることができます(知ってますよね)
[A」をそのまま貼ると全レコードが対象となってしまうので、EXCELのファイル 名を取得したセル(「A1」とします)の値を抽出条件として「A」を取り込めば 全レコード中の1件が対象となります。 注)抽出条件としているフィールドは主キーのため重複がないため
「A」はセル位置「A2」で取り込むと欲しいデータは3行目に横に並びます。 このリンクさせたSHEETを取り込み用SHEETとして別SHEETにリンクで貼り付ければ、DKを更新すればEXCEL内のデータを自動更新することができ ます。
流れとしては上記ですが、やりたいことは大本となるソフト(DK)を更新する だけでEXCEL側も更新したいのです。
|
|
■2617 / inTopicNo.6) |
Re[5]:
抽出条件にセル値を使うには? |
□投稿者/ y sakuda -(2006/07/13(Thu) 13:17:07)
http://www16.plala.or.jp/ysakuda/
えーと、前に申し上げた通り私はAccessは全くだめで、以前Accessデータを 始末したときも、とりあえずテーブルをExcelにエクスポートしてすべてExcel でやったような状態です(^^; ということですので、下はExcelでデータベースを作成し、それをADOで 読み込む形を取ってますが、ファイル名をAccessDBに変更し、シート名を テーブル名に変更すれば、多分動くのではと思います・・・・ ADOやSQL自体も身の周りの世話はできると言う程度ですので怪しげ ですが参考まで。
前提: 1.Excelブックと同じフォルダにDBファイルが存在する 2.キーは"製品番号" 3.ExcelブックのSheet1のA1に製品番号 550022等が存在 4.Sheet2にDBを読み込み展開する (Excelではフィールド名も読み込めてます)
Sub AdoTest() Dim CN As
Object, RS As Object Dim wAry, wKey As String, wFld As
Variant, I As Long, J As Long Set CN = CreateObject("adodb.connection") wKey = Worksheets("Sheet1").Range("a1") With CN
.Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString =
"Data Source=" _ & ThisWorkbook.Path & "\テストDB.xls;" _ & "Extended Properties=Excel 8.0;" .Open End With Set RS = CreateObject("ADODB.Recordset") RS.Open "Select *
from [Sheet1$] Where 製品番号 Like '" & wKey & "%'", CN Worksheets("Sheet2").Cells.ClearContents Do Until RS.EOF With Worksheets("sheet2") J = J + 1 If J = 1 Then I = 0 For Each wFld In RS.fields I = I + 1 .Cells(J, I) = wFld.Name Next J = J + 1 End
If I = 0 For Each wFld In RS.fields I = I + 1
.Cells(J, I) = RS(wFld.Name) Next End With RS.movenext Loop RS.Close: Set RS = Nothing CN.Close: Set CN = Nothing End Sub
|
|
■2618 / inTopicNo.7) |
Re[6]:
抽出条件にセル値を使うには? |
□投稿者/ お茶 -(2006/07/14(Fri) 00:19:21)
|
|
■2620 / inTopicNo.9) |
Re[8]:
抽出条件にセル値を使うには? |
□投稿者/ お茶 -(2006/07/14(Fri) 12:27:56)
y sakuda様 できました!ありがとうございました。
1.EXCELで一度外部データ取り込みを行い、マクロ記録にて抽出条件を 入力して再実行したマクロを作る。・・・「A」 取込先はSheet1のA2セル 2.「A」を編集として、先頭に Dim wAry, wKey As String Sheets("Sheet1").Select wKey =
Worksheets("Sheet1").Range("A1") Range("A2").Select を付加 3.Withで始まる構文の中に抽出条件となる Like~ があるので Like '" & wKey & "%' に変更。 4.あとは好みでカスタマイズ。
解決済み!
|
問題は解決しましたか?
Microsoft Officeに関する話題は、Microsoft Office Users
Forum に投稿してください!
人気過去ログ
- パワーポイントにエクセルファイルを貼り付けるには?
- [Word 2002] 目次のページで「エラー!ブックマークが定義されていません」というエラーが表示される
- [Access] 複数の条件で検索したい
- [Word]1枚目だけヘッダーとフッターをつけたい
- エクセルのグラフについて
- Accessのクエリで連番
- [Word] 段落中に段落番号をふる方法
- [Excel] 税抜き計算について
- Wordで編集ロックされてしまった
- [Word] 縦書きの文書に表を挿入
▲このページのトップへ