みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBA 検索表示

エクセルVBA 検索表示

例えばBooKの名前が”DATA”で
Sheet1に下記のようなデーターがある場合

  A  B  C 
1 w 3  w
2 え 3  r
3 q 2  y
4 w 3  う

他のエクセルBook”検索”というエクセルを開き
A1セルに”3”と表示させボタンをクリックすると
下記の表のように表示させたいです。

  A   B  C
1 "3”
2 w  3  w
3 え  3  r
4 w  3  う

"DATA"からB列の"3"を検索されデーターそのものが
A2セル以降に表示させるにはどのようにすれば
良いですか?

Private Const WBHName = "DATA.xls"
Private Sub CommandButton1_Click()
Dim WBH As Workbook
Dim SH1 As Worksheet 'WBHのSheet1をセット
Dim strMyBookPath As String
Dim flag As Boolean 'ブックが空いているかの判定
Dim 最終行 As Long 'SH1の最終行を格納
Dim wb As Workbook
Dim lng As Long

strMyBookPath = ThisWorkbook.Path
If Dir(strMyBookPath & "\" & WBHName) <> "" Then
flag = False
For Each wb In Workbooks
If wb.Name = WBHName Then
flag = True
Exit For
End If
Next wb


この後に続く記述を
教えて欲しいです。

投稿日時 - 2010-04-17 21:24:26

QNo.5832979

すぐに回答ほしいです

質問者が選んだベストアンサー

workbookを開いた状態で

Sub test()
Dim WB1 As Workbook
Dim WB2 As Workbook
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Dim i As Long

Set WB1 = Workbooks("DATA.xls")
Set WS1 = WB1.Worksheets("Sheet1")
Set WB2 = Workbooks("検索.xls")
Set WS2 = WB2.Worksheets("Sheet1")

For i = 1 To WB1.WS1.Cells(Rows.Count, 1).End(xlUp).Row
If WB2.WS2.Range("A1").Value = WB1.WS1.Cells(i, 2).Value Then
WB1.WS1.Cells(i, 1).Resize(, 3).Copy WB2.WS2.Cells(Rows.Count, 1).End(xlUp).Offset(1)
End If
Next
End Sub

参考まで

投稿日時 - 2010-04-18 12:01:07

お礼

早速のお返事ありがとうございます!
ものすごく参考になりました。

投稿日時 - 2010-04-20 00:01:35

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問