Vba 使用相同的选项更新下拉列表,单击活动列表

Vba 使用相同的选项更新下拉列表,单击活动列表,vba,excel,Vba,Excel,我在同一行有一些下拉列表。所有人在他们的列表中都有相同的选项 要使用相同的选择设置所有列表下拉列表,我必须在所有列表中逐个单击 我尝试了Crtl+Intro,但它不起作用。我还尝试在这个方法中使用keysen,但这只适用于常规单元格,而不适用于列表下拉列表 我尝试了使用事件工作表SelectionChange,得到了一些结果,但我没有成功更改列表下拉列表中未激活的值。以下是一些示例代码: If Target.Cells.Count > 1 And Target.Rows.Count = 1

我在同一行有一些下拉列表。所有人在他们的列表中都有相同的选项

要使用相同的选择设置所有列表下拉列表,我必须在所有列表中逐个单击

我尝试了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

您的下拉列表是使用数据验证创建的还是工作表上的表单控件?如果它们都有相同的列表,并且您总是希望它们具有相同的值,为什么不简单地创建一个下拉列表并将所有内容链接到该列表?