如何在VBA中选择多个项目?(每次选择3个iTen)

如何在VBA中选择多个项目?(每次选择3个iTen),vba,excel,Vba,Excel,我想在组合框中选择多个项目(在示例中,我想选择3个选择项)。 问题:下面的代码按照我的预期工作(最终结果=在组合框中选择3个iten-选择多个iten)。但是,如果可能,我打算使用一个代码,通过值而不是索引来选择项目。组合框中的列表索引随相关频率的变化而变化 有人有办法吗 Sub Vgbl() Dim IE As Object Dim n, Period1, Period2 As Double Dim MAPFREVI, VIDASEG, CS, Alianca, Brasilv, Mapfr

我想在组合框中选择多个项目(在示例中,我想选择3个选择项)。 问题:下面的代码按照我的预期工作(最终结果=在组合框中选择3个iten-选择多个iten)。但是,如果可能,我打算使用一个代码,通过值而不是索引来选择项目。组合框中的列表索引随相关频率的变化而变化

有人有办法吗

Sub Vgbl()

Dim IE As Object
Dim n, Period1, Period2 As Double
Dim MAPFREVI, VIDASEG, CS, Alianca, Brasilv, MapfreSeg, BrasilPrev, SEGUROS, TODAS, BrasilCap As Variant

SEGUROS = "54"
TODAS = "Todas"
Period1 = Sheets("Capa").Cells(4, 3).Value
Period2 = Sheets("Capa").Cells(5, 3).Value

n = Sheets("Ramos").Cells(65, 4).Value

Set IE = CreateObject("InternetExplorer.Application")
    IE.Navigate "http://www2.susep.gov.br/menuestatistica/SES/principal.aspx"
    IE.Visible = True

While IE.Busy
    DoEvents
Wend

Application.Wait (Now + TimeValue("00:00:02"))
    'seleciona as operações desejadas
    IE.document.getElementById("ctl00_ContentPlaceHolder1_edSelOp").Value = SEGUROS
    IE.document.getElementById("ctl00_ContentPlaceHolder1_btnConsultar").Click

    'seleciona o periodo
    Application.Wait (Now + TimeValue("00:00:02"))
    Set ieDoc = IE.document
        ieDoc.getElementById("ctl00_ContentPlaceHolder1_edInicioPer").Value = Period1
        ieDoc.getElementById("ctl00_ContentPlaceHolder1_edFimPer").Value = Period2

    'seleciona as empresas
    IE.document.getElementById("ctl00_ContentPlaceHolder1_edEmpresas").SelectedIndex = TODAS

    'seleciona os ramos

    Set objListbox = IE.document.getElementById("ctl00_ContentPlaceHolder1_edRamos")
    objListbox.Options(n).Selected = True
    n = Sheets("Ramos").Cells(66, 4).Value
    objListbox.Options(n).Selected = True
    n = Sheets("Ramos").Cells(67, 4).Value
    objListbox.Options(n).Selected = True

End sub

根据设计,组合框只允许在任何给定时间点选择一个项目。另外,“问题:此代码有效!”使得问题陈述相当不清楚。请澄清。@Mat'sMug-如果源允许,HTML选择元素可以通过指定
multiple
属性进行多个选择。一旦您有了对选择元素的引用,循环其选项,当您找到一个具有所需值的选项时,将其设置为选中。您应该考虑将此函数编码成单独的子代码,例如代码>子SETListByValue(ObjSoad,THEVE)或使其成为一个函数,以便在列表中找到值时可以返回TRUE。@ Mat的MUG现在是否更清楚了?