I以下のワークブックを持っている:値が一致するvbaを使用して別のワークブックから値を取得しますか?
マスターワークブック
Column E Column G Column J Column V
Expecting
12/12/2016 111 555
12/12/2015 222 444
12/12/2014 333 666
私もワークブックが呼ばれているスレーブ:
スレーブワークブック
Column C Column D Column E Column F Column G
111 555 12/12/2016 400
222 444 12/12/2015 500
333 666 12/12/2014 600
マスターの各列の値の場合スレーブワークブック内のそれらと一致して、私は私のマスターの列vにスレーブから列Gの値をコピーしたいと思います。私は以下の基準をチェックすると、私のコードが動作する瞬間
:私は私のマスターワークブックに列Eの日付を確認したい場合は
Master Slave
Column G MATCHES Column C
Column J MATCHES Column D
しかし、スレーブ上の列Eに一致するには、私のコードが停止ワークブックワーキング。
Option Explicit
Option Compare Text
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim oCell As Range, oCell2 As Range, oCell3 As Range, oCell4 As Range, targetCell As Range
Dim ws2 As Worksheet
Dim lastRow As Long
If Target.Column = 22 And ActiveCell.Value = "Expecting" Then
If Not GetWb("Order Checker", ws2) Then Exit Sub
lastRow = Range("J" & Rows.Count).End(xlUp).Row
With ws2
For Each targetCell In Range("J6:J" & lastRow)
Set oCell = .Range("D1", .Cells(.Rows.Count, "D").End(xlUp)).Find(what:=targetCell.Value, LookIn:=xlValues, lookat:=xlWhole)
Set oCell2 = .Range("C1", .Cells(.Rows.Count, "C").End(xlUp)).Find(what:=targetCell.Offset(0, -3).Value, LookIn:=xlValues, lookat:=xlWhole)
Set oCell3 = .Range("F1", .Cells(.Rows.Count, "F").End(xlUp)).Find(what:=targetCell.Offset(0, -5).Value, LookIn:=xlValues, lookat:=xlWhole)
MsgBox oCell3
If Not oCell Is Nothing And Not oCell2 Is Nothing And Not oCell3 Is Nothing Then
Application.EnableEvents = False
targetCell.Offset(0, 12).Value = oCell.Offset(0, 3)
Application.EnableEvents = True
End If
Next
End With
End If
End Sub
Function GetWb(wbNameLike As String, ws As Worksheet) As Boolean
Dim wb As Workbook
For Each wb In Workbooks
If wb.Name Like "*" & wbNameLike & "*" Then '<-- check if workbook name contains "Depot Memo"
Set ws = wb.Worksheets(2)
Exit For
End If
Next
GetWb = Not ws Is Nothing
End Function
問題はこれをどうすることです:
はここに私のコードです
Set oCell3 = .Range("E1", .Cells(.Rows.Count, "E").End(xlUp)).Find(what:=targetCell.Offset(0, -5).Value, LookIn:=xlValues, lookat:=xlWhole)
何らかの理由で、oCell3は、それが何を=しないと言います。これは私のコードは、結果を生成しないことが原因になっている
If Not oCell3 Is Nothing Then
:oCell3はそうのような何もないではない場合
だから私はテストしていたとき。
私が間違っていることを誰かに教えてもらえますか?おかげ
あなたは既にこの質問を投稿しませんか? – nightcrawler23