Excel VBA質問箱 IV

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

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


59481 / 76732 ←次へ | 前へ→

【21939】Re:他ブックのデータ抽出
回答  Jaka  - 05/2/4(金) 13:01 -

引用なし
パスワード
   こんにちは。

例えば、

検索するブックを1度開いていいのなら

検索キー = "AAA10"
ブック名 = "データ1.xls"
結果 = Application.Match(検索キー, Workbooks(ブック名).Sheets("Sheet1").Columns(1), 0)
If IsError(結果) Then
  MsgBox "無い"
Else
  MsgBox 結果 & "行目に有"
End If


開きたくないんだったら、適当なセルに関数を入れて判定した方が簡単かつ速いと思います。

検索キー = "AAA10"
ブック名 = "データ1.xls"
pas = "'" & CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
KKL = "=MATCH(""" & 検索キー & """," & pas & "[" & ブック名 & "]" & "Sheet1'!$A:$A,0)"
Cells(1, 5).Formula = KKL
If IsError(Cells(1, 5).Value) Then
  MsgBox "無い"
Else
  MsgBox Cells(1, 5).Value & "行目に有"
End If
Cells(1, 5).ClearContents


他ブックをオートフィルタし、結果を自ブックにコピペの場合。
(フィルタ結果の有無は判定してません。)

With Workbooks("データ1.xls").Sheets("Sheet1")
  .Range("A1").AutoFilter Field:=1, Criteria1:="AAA10"
  .Range("A2", .Range("A63336").End(xlUp)).SpecialCells(xlCellTypeVisible).Copy
  .AutoFilterMode = False
End With
ThisWorkbook.Sheets(2).Range("A1").PasteSpecial


こんな感じの物をループで1ブックづつ探していくしかないと思います。
(つまり遅い)
アクセスなら1っぱつポンで済むかもしれませんが...。
0 hits

【21934】他ブックのデータ抽出 モコ2 05/2/4(金) 10:19 質問
【21939】Re:他ブックのデータ抽出 Jaka 05/2/4(金) 13:01 回答
【21947】Re:他ブックのデータ抽出 モコ2 05/2/4(金) 16:08 質問
【21948】Re:他ブックのデータ抽出 Jaka 05/2/4(金) 16:43 回答
【21956】Re:他ブックのデータ抽出 モコ2 05/2/4(金) 18:47 お礼
【22444】今ごろわかった不具合。 Jaka 05/2/21(月) 9:33 発言

59481 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free