|
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
すみません!用語の意味がわからなくて・・。
|
|