2016-09-20 26 views
-2

我有一个Excel工作簿2工作表。 “发票”和“产品”。如何找到其他工作表中的匹配数据并在Excel中的特定单元格中返回布尔值?

在“发票”我有几列,A("ID"),B("DESIGN")这是从产品页和C("QTE")等选定的列表。它看起来像这样:

A B C D ... 
--------------------- 
100 AR 
110 BR 
120 CR 
130 DR 

在 “产品展示” 我有其他列,A("ID")B("DESIGN")C("NAME")D("TYPE")。它看起来像这样:

A B  C  D  
---------------------- 
10 AR NAME1 TY1 
20 BR NAME2 TY2 
30 CR NAME3 TY2 
40 DR NAME4 TY1 

所以,当我选择DESIGN在“发票”表(B列),我需要检查,并在特定的细胞返回true/false如果DESIGN类型的选择是TY1

实例:

  • 在发票片:如果我选择AR作为DESIGN我想要真由于AR(特定小区回报是TYPE=TY1

  • 在发票表:如果我选择BR作为DESIGN我希望有一个特定的细胞返回false,因为BR(是TYPE!=TY1

是有办法做到这一点?

+0

你有没有尝试过任何东西/你卡在一个特定的点?否则,将问题分解并逐个解决。你的问题标题本身已经有点这样做。 “找到匹配的数据”,“访问不同的工作表”,“设置单元值”等。 – arcadeprecinct

+1

是的,有多种方法可以做到这一点。看看各种Excel查找功能。 – Comintern

回答

0

这可能有效。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

     Dim sWhatToLook As String 
     Dim rng1 As Range 
     Dim strSearch As String 

     If Target.Column = 2 Then 'for the code to execute clicking on column B only 
      sWhatToLook = Target.Value 
      Set rng1 = Worksheets("Products").Range("A2:D1000").Find(sWhatToLook, , xlValues, xlWhole) 'Set range (A2:D1000) as needed 
      If Not rng1 Is Nothing Then 
       If (rng1.Offset(0, 2).Value = "TY1") Then 
        Worksheets("Invoice").Cells(Target.Row, 5) = True 
       Else 
        Worksheets("Invoice").Cells(Target.Row, 5) = False 
       End If 
      Else 
       MsgBox sWhatToLook & " not found" 
      End If 
     End If 

    End Sub 
+0

@Drwhite:反馈会很好,很有礼貌..... – CMArg

相关问题