Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于下拉列表选择更改双向单元格的目标_Excel_Vba - Fatal编程技术网

Excel 基于下拉列表选择更改双向单元格的目标

Excel 基于下拉列表选择更改双向单元格的目标,excel,vba,Excel,Vba,以下是我正在处理的两张工作表: 在表1中,B1是表2 a列中所有三种风险的下拉列表。同样在活页1中,B2与活页2中的B2是双向的。双向单元格的代码如下所示,首先是表1,然后是表2。 Private子工作表\u更改(ByVal目标作为范围) 如果不相交(目标,范围(“B3”)为零,则 如果目标=范围(“B3”),则 表格(“风险登记”)。范围(“B2”)。值=目标值 如果结束 如果结束 端接头 -- 私有子工作表_更改(ByVal目标作为范围) 如果不相交(目标,范围(“B2”)为零,则 如果

以下是我正在处理的两张工作表:

在表1中,B1是表2 a列中所有三种风险的下拉列表。同样在活页1中,B2与活页2中的B2是双向的。双向单元格的代码如下所示,首先是表1,然后是表2。
Private子工作表\u更改(ByVal目标作为范围)
如果不相交(目标,范围(“B3”)为零,则
如果目标=范围(“B3”),则
表格(“风险登记”)。范围(“B2”)。值=目标值
如果结束
如果结束
端接头
--
私有子工作表_更改(ByVal目标作为范围)
如果不相交(目标,范围(“B2”)为零,则
如果目标=范围(“B2”),则
如果表(“风险分析”)。范围(“B3”)。价值目标。价值然后
表(“风险分析”).范围(“B3”).值=目标值
如果结束
如果结束
如果结束
端接头
--

我试图修改VBA代码,以便无论通过工作表1 B1中的下拉列表选择了何种风险,工作表1 B3中的双向单元格将根据工作表2 A列中的值是否与工作表1中的B1匹配(即工作表1,B1=工作表2,A2等),仅映射到工作表2 B列中的单元格。只有一场比赛。每当在下拉列表中选择不同的风险时,双向单元格的映射应更改为表2 B列中的相应单元格。我希望这是有道理的

Private Sub Worksheet_change(ByVal Target As Range)

If Not Intersect(Target, Range("B3")) Is Nothing Then

   If Target = Range("B3") Then

      Sheets("Risk Registry").Range("B2").Value = Target.Value

   End If

End If

End Sub
--
Private Sub Worksheet_change(ByVal Target As Range)

If Not Intersect(Target, Range("B2")) Is Nothing Then

  If Target = Range("B2") Then

    If Sheets("Risk Analysis").Range("B3").Value <> Target.Value Then

      Sheets("Risk Analysis").Range("B3").Value = Target.Value

    End If

  End If

End If

End Sub