Excel – 根据一个单元格中的input自动填充列

在这里输入图像说明

在excel中,当我在“input栏”中input“A”时,我想让Harry,Josh,Rob和Peter自动填充,如图所示。

同样,当我在input栏中input“B”时,我想让Kim,Nancy,Paul,George自动填充,任何人都可以发布VBA代码来做到这一点,或者我可以使用公式来做到这一点吗?

自动化代码解决scheme:

  • 右键单击您的工作表选项卡并select查看代码
  • 复制并粘贴到下面的代码中
  • 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