如何在一个工作表上转换Excel单元格中的值以在另一个工作表中显示为下拉列表

时间:2018-01-19 19:19:56

标签: c# excel excel-formula worksheet-function excel-2016

我的C#代码返回Sheet1中下面的方框A中显示的值。在sheet2中,我需要将数据显示为下拉列表,如块B所示。是否有 Excel公式来实现此目的?

enter image description here

1 个答案:

答案 0 :(得分:1)

这是一个VBA宏。

它在 Sheet1 中使用单元格 A1 ,在 Sheet2中使用单元格 B9

Sub demo()
    Dim r1 As Range, r2 As Range
    Set r1 = Sheets("Sheet1").Range("A1")
    Set r2 = Sheets("Sheet2").Range("B9")
    With r2.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=r1.Value
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With

End Sub

enter image description here

一个函数,如果 A1 中的值发生变化,则必须重新运行该子函数。