Excel,单击另一个单元格时更新单元格

Excel,单击另一个单元格时更新单元格

我尝试了在 SuperUser 上找到的几个不同的 VBA 位,但无法使其工作。

当我单击另一个单元格时,我正尝试更新一个单元格。

我在 A43:A54 中有数据,它是一个名称列表,在 B43:B54 中也有一个列表。

当我单击 A43:A54 中的单元格时,我想用单击单元格的内容更新单元格 B38,同时用 B43:A54 同一行的内容更新单元格 B39

例如...

A43 = 伦敦,B43 = 格拉斯哥

A44 = 伯明翰,B44 = 爱丁堡

A45 = 曼彻斯特,B45 = 贝尔法斯特

等等等等

如果我单击单元格 A44,我希望单元格 B38 将其内容更改为伯明翰,单元格 B39 将其内容更改为爱丁堡

谢谢

答案1

只需将此代码添加到您的工作表的代码区域即可:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("A43:A54")) Is Nothing And Target.Cells.count = 1 Then
    Range("B38") = Target.Value
    Range("B39") = Target.Offset(, 1).Value
End If

End Sub

答案2

您可以将公式与 VBA 组合起来。
OptionsOptions > Formulas > Enable Iterative Calculations
公式:::
B38工作 表模块中的代码=IF(AND(CELL("row")>=43,CELL("row")<=54,CELL("col")=1),CELL("contents"),B38)
B39=IFNA(VLOOKUP(B38,$A$43:$B$54,2,FALSE),"")

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Intersect(Target, Range("A43:A54")) Is Nothing Then Exit Sub
   Me.Calculate
End Sub

截图:
城市

相关内容