如何在VBA中选择多个项目?(每次选择3个iTen)
我想在组合框中选择多个项目(在示例中,我想选择3个选择项)。 问题:下面的代码按照我的预期工作(最终结果=在组合框中选择3个iten-选择多个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
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现在是否更清楚了?