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

问题描述 投票:0回答: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

使用此代码,必须在选定之前在活动单元格中具有一些值。如果您稍后更改了值,则无效。

我再次尝试使用事件工作表更改,但这是最糟糕的,因为我使用的不同行总是生成无限循环,即使我使用关闭循环重复操作只选择了单元格的数量。

所以,我正在寻找一些代码来改变所有列表下拉选择只改变活动单元格中的值(活动列表下拉列表)。单击一次并使用相同的值更改所有值。

excel vba excel-vba
1个回答
1
投票

假设我在A1B1C1有三个下拉菜单。

此代码根据更改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
© www.soinside.com 2019 - 2024. All rights reserved.