繁体   English   中英

如何将值从数组传递到excel VBA中某个单元格(而不是组合列表)的下拉列表

[英]How to pass values from an array to a drop down list in a certain cell (not combo list) in excel VBA

我正在尝试将值从数组传递到特定单元格中的下拉列表。 假设我有一个包含值1,2,3的数组,我希望单元格A1包含一个带有这些值的下拉列表,有什么方法可以做到这一点吗? 我试图实现这一点,而不必首先将这些值分配给不同的单元格并使用数据验证。 (正如标题中所述,我不想使用组合框或用户表单)

这里有几种方法,相同的结果,

Sub DataVal1()
    With Range("A1").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
             xlBetween, Formula1:="1,2,3"
    End With
End Sub
Sub DataVal2()
    Dim x As String
    x = "1,2,3"
    With Range("A1").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
             xlBetween, Formula1:=x
    End With
End Sub

这应该给你一个方法:

Dim myArray
myArray = Array("1", "2", "3")

Range("A" & 1).Select

With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:=myArray(0) & "," & myArray(1) & "," & myArray(2)
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = ""
    .ErrorTitle = ""
    .InputMessage = ""
    .ErrorMessage = ""
    .ShowInput = True
    .ShowError = True
End With

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM