我在同一行中有一些下拉列表。所有这些都在他们的列表中有相同的选项。
要使用相同的选择设置所有列表下拉列表,我必须在所有列表中逐个单击。
我尝试过Crtl + Intro,但它不起作用。我也尝试使用这个方法keysen
,但这只适用于常规单元格,而不是列表下拉。
我尝试使用事件工作表SelectionChange
并且我有一些结果,但我没有设法更改列表下拉列表中未激活的值。以下是一些示例代码:
If Target.Cells.Count > 1 And Target.Rows.Count = 1 Then
Dim cell As Range
For Each cell In Selection
cell = ActiveCell.Value
Next cell
End If
使用此代码,必须在选定之前在活动单元格中具有一些值。如果您稍后更改了值,则无效。
我再次尝试使用事件工作表更改,但这是最糟糕的,因为我使用的不同行总是生成无限循环,即使我使用关闭循环重复操作只选择了单元格的数量。
所以,我正在寻找一些代码来改变所有列表下拉选择只改变活动单元格中的值(活动列表下拉列表)。单击一次并使用相同的值更改所有值。
假设我在A1
,B1
和C1
有三个下拉菜单。
此代码根据更改A1
中的下拉列表设置所有值相同:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dd1 As Range, dd2 As Range, dd3 As Range
Set dd1 = Range("A1")
Set dd2 = Range("B1")
Set dd3 = Range("C1")
If Not Intersect(Target, dd1) Is Nothing Then
dd2 = dd1.Validation.Parent
dd3 = dd1.Validation.Parent
End If
End Sub