1

在此处输入图像描述

在 excel 中,当我在“输入列”中输入“A”时,我希望自动填充 Harry、Josh、Rob 和 Peter,如图所示。

同样,当我在“输入列”中输入“B”时,我希望自动填充 Kim、Nancy、Paul、George。任何人都可以发布 VBA 代码来执行此操作,或者我可以自己使用公式吗?

4

1 回答 1

4

自动化代码解决方案:

  • 右键单击您的工作表选项卡并选择查看代码
  • 复制并粘贴下面的代码
  • Alt+F11返回 Excel

Column A每当更改(即您的“目标列”)中的一个或多个单元格时,此代码都会进行您需要的更改

要改用 B 列,请尝试
Set rng1 = Intersect(Target, Columns("B"))

代码

    Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Intersect(Target, Columns("A"))
If rng1 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
For Each rng2 In rng1
Select Case UCase$(rng2.Value)
Case "A"
rng2.Offset(0, 1).Resize(1, 2) = Array("Harry", "Josh")
rng2.Offset(1, 1).Resize(1, 2) = Array("Rob", "Peter")
Case "B"
rng2.Offset(0, 1).Resize(1, 2) = Array("Kim", "Nancy")
rng2.Offset(1, 1).Resize(1, 2) = Array("Paul", "George")
End Select
Next
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
于 2012-12-11T01:03:12.703 回答