Excel 2010 VBA 单击单元格触发宏以显示值列表

Excel 2010 VBA 单击单元格触发宏以显示值列表

单击单元格 d2 时,我想在 e2:e6 中显示 j2:j6 的值。单击单元格 d3 时,我想在 e2:e6 中显示 k2:k6 的值,等等。有人能帮我吗?谢谢

答案1

您需要将其添加到工作表后面的代码模块中。如果是 Sheet1,请在 VBA 的代码资源管理器中右键单击 Sheet1 并选择查看代码,然后将其添加到模块:

Option Explicit

Const DISPLAY_TARGET As String = "E2:E6"
Const D2_SOURCE As String = "J2:J6"
Const D3_SOURCE As String = "K2:K6"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  Select Case Target.Address

    Case "$D$2"
      Range(DISPLAY_TARGET).Value = Range(D2_SOURCE).Value

    Case "$D$3"
      Range(DISPLAY_TARGET).Value = Range(D3_SOURCE).Value

    Case Else
      'Range(DISPLAY_TARGET).ClearContents

  End Select

End Sub

我在 Case Else 语句之后为您提供了一个选项,如果用户单击 D2 或 D3 以外的任何其他单元格,则清除 E2:E6 的内容。

相关内容