excel - Excel宏,用于基于下拉列表一键填写单元格
问题描述
我想用鼠标在单元格 A1:A5 中单击一次,用下拉列表中的值填充一系列单元格,比如说 A1:A5。我希望它工作的方式是首先从下拉列表中选择我想要的值,然后单击范围 A1:A5 中的任何单元格,并且只有选定的单元格将值更改为下拉列表中的值. 而且,当我从下拉列表中更改值时,先前通过单击它们填充的单元格不会自动更改为下拉列表中的新值。单击后,它们将保持该值,直到单击另一个选定值。
解决方案
将数据验证添加到 B1,在“允许:”下选择“列表”,在“来源:”下选择您的值,例如:Value1、Value2、Value3... .. 或者当然是一个范围..
将以下内容粘贴到工作表代码中(例如 Sheet1(sheet1))
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A5")) Is Nothing Then
Selection.Value = Range("B1").Value
Range("B1").Value = ""
End If
End Sub