[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ブックを開かずにデータを取得する方法』(せな)
Private Sub CommandButton1_Click()
Dim sh1, sh2
Set sh1 = Workbooks("データ表.xlsx").Sheets("Sheet1")
Set sh2 = Workbooks("入力表.xlsx").Sheets("Sheet1")
d = sh1.Range("A65536").End(xlUp).Row
On Error Resume Next
For i = 2 To d
If sh1.Cells(i, "AB") = UserForm1.TextBox1 Then
sh2.Cells(2, "A") = sh1.Cells(i, "B") Exit For End If If sh1.Cells(i, "AE") = UserForm1.TextBox1 Then sh2.Cells(2, "A") = sh1.Cells(i, "B") Exit For End If If sh1.Cells(i, "AH") = UserForm1.TextBox1 Then sh2.Cells(2, "A") = sh1.Cells(i, "B") Exit For End If Next i End Sub
データ表=C:\Users\※※※\※※※\
入力表=C:\Users\△△△\※※※\
ユーザーフォーム1のテキストボックス1と同じ文字列がデータ表のAB列にあればB列のデータを入力表のA2に、AB列になければAE列で探し、AE列になければAH列で探す、、ということをしています。
ブックを開かずにデータを取得する方法を教えてください。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
このテーマ、相当魅力的なんでしょうねぇ。過去から、何度となく、議論されています。 最近では、
[[20151023213330]]? 『別Bookからのデータ転記について』(エイチ・アイ)
ここでも、掘り下げた検証が行われていますので、必要性があるなら、目を通してください。
特段の理由(ブックのサイズが何十メガもあり開くのが大変 等々)がない限り、素直に開いて処理するのが ベストだと思いますがね。
(β) 2016/03/08(火) 19:19
また、過去検証していない案として、ブックをZIPファイルとして扱い、ここからSheet1.xmlを展開。
MSXML2.DOMDocumentオブジェクトでも使って、直接XMLファイルを読み込んで処理、なんて方法もありそうです。
(???) 2016/03/09(水) 11:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.