| 
    
     |  | BBさんいつもありがとうございます。 やはりERRがでちゃいます。
 具体的に書きます。
 ABOOK
 BBOOKがあります。
 ABOOKにはシートは1個で一覧という名前です。
 列には場所、建物、種類
 BBOOKにもシートは1個で局名という名前とします
 列には場所 場所B 情報という列とします。
 
 両BOOKの場所をキーに一致したら
 BBOOKの記入という新シートに
 場所 建物  情報を表示するというものです。
 
 BBOOKに記入用シート作成
 
 
 Option Explicit
 
 Dim vv() As Variant
 
 Dim gensi As Object, yousi As Object
 
 Dim s As String
 
 Dim i As Integer, j As Integer, ir As Integer, ic As Integer
 
 Dim r As Range
 
 Dim ws As Worksheet
 
 
 Sub 基地()
 
 Set yousi = ThisWorkbook.Worksheets("記入用")
 s = ActiveCell.Value
 
 i = MsgBox(s & "一致させます?", vbYesNo)
 If i <> vbYes Then Exit Sub
 
 i = 0
 
 Do While Range("a6").Offset(, i).Value <> ""
 i = i + 1
 ReDim Preserve vv(2, i)
 vv(1, i) = Range("a6").Offset(, i - 1).Value
 Loop
 
 Set gensi = Workbooks("ABOOK.xls")
 gensi.Activate
 シート
 記入
 
 End Sub
 
 
 Private Sub シート()
 
 For Each ws In gensi.Worksheets
 If ws.Name = "一覧" Then
 ws.Activate
 検索
 End If
 Next ws
 
 End Sub
 
 Private Sub 検索()
 
 For Each r In ws.UsedRange
 If r.Value = s Then
 ir = r.Row
 Exit For
 End If
 Next r
 
 For j = 1 To i
 For Each r In ws.UsedRange
 If r.Value = vv(1, j) Then
 ic = r.Column
 vv(2, j) = Cells(ir, ic).Value
 Exit For
 MsgBox vv(2, j)
 End If
 Next r
 Next j
 
 End Sub
 
 
 Private Sub 記入()
 
 yousi.Activate
 
 For j = 1 To i
 Cells(ActiveCell.Row, 1).Offset(, j - 1).Value = vv(2, j)
 Next j
 
 End Sub
 
 すみません!用語の意味がわからなくて・・。
 
 |  |