ユーザーがそうのように、セルC5に数値を入力した場合、私は、私のマスターブックのワークシートの変更イベントに2つのワークブックアクティブな場合はvbaリファレンスブック、ファイル名の最後の7文字にはxが含まれていますか?
Master Workbook
Slave workbook
を持っている:
マスターワークブック
C5 = 1234
私は、私の奴隷のワークブックでこの数字の列Eを見たいと思っています。
スレーブワークブック
Column E Column F
1222 Beans
1234 Cheese
見つかった場合、私は、スレーブ・ワークブックの列Fから対応する値を取得し、私のマスターワークブック上のセルC6にこれを載せていきたいと思います。
マスターワークブック
C5 = 1234
C6: Cheese
他の問題は私の奴隷ワークブックでは、私は絶対的な基準でそれを参照することはできませんつまり、時間から時間に名前を変更します。ブックファイル名の最後の7つの文字は「ボリューム」
どんなにしている場合、スレーブワークブックが
- :代わりに、私は2つの条件に基づいて、スレーブブックを参照したいです何スレーブワークブックがそうのようなファイル名に残る最後の文字のボリュームの、名前に変更されます。ここでは
file1 16.01.17 volumes.xls or file1 19.01.17 volumes.xls
EDIT は私のコードです:
Private Sub Worksheet_SelectionChange(ByVal Target as Range) Dim Dic As Object, key As Variant, oCell As Range, i& Dim w1 As Worksheet, w2 As Worksheet Set Dic = CreateObject("Scripting.Dictionary") Set w1 = ThisWorkbook.Sheets(1) Set w2 = Workbooks("workbookB.xlsm").Sheets("Sheet1") i = w1.Cells.SpecialCells(xlCellTypeLastCell).Row For Each oCell In w1.Range("C5") If Not Dic.exists(oCell.Value) Then Dic.Add oCell.Value, oCell.Offset(1, 0).Value End If Next i = w2.Cells.SpecialCells(xlCellTypeLastCell).Row For Each oCell In w2.Range("E4:E" & i) For Each key In Dic If oCell.Value = key Then oCell.Offset(, 1).Value = Dic(key) End If Next Next End Sub
私は私のコードが正しいかどうか確認してくださいVBAする真新しいないですけど、誰かが、それは私が必要なものを行うために取得する方法私を見ることができますしてください?
おかげ