Tag: combobox

无法获取由服务器注册的值

我正在尝试在Excel中创build一个名为SpectrumLive的共享交易网站的VBA界面。 我可以在网站上填写相关表格中购买的股票数量。 但是,当我点击“下订单”button时,它会记住我input的上一个手动值,而不是VBAinput的值。 这就像我需要提出一个事件或类似的东西,让服务器端注册的价值。 该字段看起来像带有可编辑文本字段的combobox。 您可以通过selectcombobox控件中的小箭头来select预定义的值。 然而,脚本直接将值input到文本字段(就像我也可以手动执行)。 我一直在研究这个问题已经有一段时间了,我已经没有想法了。 我使用的VBA是: theDocument.getElementsByName(“ordertype”)。Item(i).value =“88” 将股份数量设定为88。 我曾尝试通过以下方式触发OnChange事件: item(i).FireEvent(“onchange”) 但没有运气。 该页面的特定部分的HTML代码如下所示: <div id="MenuMgr_WM_view4_widgetbfcca409xc930x42d5x8d00x04a83ed68e5f_ordertab_amountrow" class="formrow"> <div id="MenuMgr_WM_view4_widgetbfcca409xc930x42d5x8d00x04a83ed68e5f_ordertab_amountrow_error" class="error_field"> <span class="inline amount"> <label class="label" title="Quantity">Quantity:</label> <div class="amount_type input selector" style="display:none;" name="MenuMgr$WM_view4$widgetbfcca409xc930x42d5x8d00x04a83ed68e5f$ordertab$amountrow$ctl00"> <span id="MenuMgr_WM_view4_widgetbfcca409xc930x42d5x8d00x04a83ed68e5f_ordertab_amountrow_amount" name="MenuMgr$WM_view4$widgetbfcca409xc930x42d5x8d00x04a83ed68e5f$ordertab$amountrow$amount"> <div id="AmountSelectorContainer"> <span id="MenuMgr_WM_view4_widgetbfcca409xc930x42d5x8d00x04a83ed68e5f_ordertab_amountrow_amount_AmountSelectorControl" name="MenuMgr$WM_view4$widgetbfcca409xc930x42d5x8d00x04a83ed68e5f$ordertab$amountrow$amount$AmountSelectorControl"> <div id="AmountSelectorDropDownList" class="left input selector" name="MenuMgr$WM_view4$widgetbfcca409xc930x42d5x8d00x04a83ed68e5f$ordertab$amountrow$amount$AmountSelectorControl$AmountSelectorDropDownList"> **<input class="inp aright" type="text" value="" name="ordertype" title="">** […]

让用户在VBA工具栏中select多个值

有没有办法在VBA添加一个列表框到工具栏(添加在function区)? 我希望能够让用户在列表框中select多个值/标准,而不是在下拉/combobox菜单中select一个值。 下面的代码只添加一个下拉菜单 Sub addSelectControls() Dim newBar As Office.CommandBar Set newBar = CommandBars.Add(Name:="testing CommandBar", temporary:=True) Dim newCombo As Office.CommandBarComboBox Set newCombo = newBar.Controls.Add(Type:=msoControlDropdown, temporary:=True) With newCombo .AddItem "Blocks" .AddItem "Hardware" .AddItem "Aircraft Hardware" .AddItem "Vehical Hardware" .AddItem "Machinery" .AddItem "Wood Products" .AddItem "Miscellaneous Products" .AddItem "Miscellaneous Metal" .AddItem "Precast Metal" .AddItem "Forged Metal" .AddItem "Structural […]

VBA:如何在combobox中选定的值发生变化时触发事件

我是新来的VBA,并希望触发一个简单的更改事件时,在combobox(UserForm内)的select更改。 我尝试了Private Sub myCombo_AfterUpdate()和Private Sub myCombo_Change()但在这两种情况下,当我在combobox中select一个不同的值时,没有任何反应。 这是combobox的错误方法? 我的小组开始如下,因为我想比较当前在下拉列表中select的项目与表中的值: Private Sub myCombo_AfterUpdate() If Me.myCombo.Value = Worksheets(8).Range("A4") Then 'do stuff End Sub Tim非常感谢你的帮助。

Excel VBAcombobox省略以前select的选项

我有几个具有预定义名称的ActiveXcombobox: "Variables!$B$1:$B$23" combobox位于单元格A2 – A24中。 我希望combobox省略先前select的选项。 例如,如果我要在A2combobox中select“John Doe”,当我打开A3 ComboBox时,“John Doe”不会被列为选项。 我正在查看comboboxComboBox_Change选项,但代码逃避我。 正如我确信你可以看到我的微弱尝试如下: Private Sub ComboBox1_Change() Dim ComboValue As String ComboValue = Worksheets("Roster").OLEObjects("ComboBox1").Object.Value For i = 2 To Worksheets("Variables").Range("C1") ListVariable = Worksheets("Variables").Range("B" & i) If (ListVariable = ComboValue) Then 'Change other comboboxes End If Next i End Sub

多重combobox和参数驱动程序

我正在尝试使用通过C#Excel加载项填充100个combobox的Excel工作表。 我的问题是,我需要创build一个通用程序CmdBtn_Click()将由combobox的每个实例调用并传递其值和名称。 换句话说,我需要参数驱动的过程,将被适当的事件调用。 有人可以build议如何在C#中做到这一点? for (int i = 1; i < col + 1; i++) { var comboRange = currentSheet.Cells[2, i]; var cmb_Column = (Excel.Shape)currentSheet.Shapes.AddOLEObject("Forms.ComboBox.1", Type.Missing, false, false, Type.Missing, Type.Missing, Type.Missing, Convert.ToInt32(comboRange.Left), Convert.ToInt32(comboRange.Top), Convert.ToInt32(comboRange.Width), Convert.ToInt32(comboRange.Height)); cmb_Column.Name = "cmb_Column" + i; Excel.OLEObject oleComboBox = (Excel.OLEObject)cmb_Column.DrawingObject; cb = Invoker.PropertyGet(oleComboBox, "Object") as MSForms.ComboBox; cb.AddItem("Test1"); cb.Change += new MSForms.MdcComboEvents_ChangeEventHandler(CmdBtn_Click); […]

VBA:使用二维数组来填充多个不同的combobox

我对使用VBA很新,所以如果这是一个愚蠢的问题,我很抱歉。 我有一个二维string数组ArrayCBO。 我想使用数组的每一列填充不同的combobox。 在UserForm(Initialize)中创build数组后,我尝试使用以下命令填充comboboxcbo: cbo.Column() = ArrayCBO 这适用于ArrayCBO的第一列,但我不知道如何与其他列使用它! 我也试过了 cbo.Column() = Application.WorksheetFunction.Index(ArrayCBO, 0, 2) 无济于事。 (combobox的列表显示为空。) 感谢您的帮助!

在excel vba中删除combobox中的空白,但保留索引

所以我从数据库中提取数据来填充combobox。 每个值作为与其关联的ID,我将该ID用作该值的combobox中的索引。 所以如果ID是2,我把它放在索引2中。第一个问题是,如果我不填充某些东西,我使用空格,它不会让我使用索引。 因此,如果我没有填充至less10个空格,那么我不能在索引10处使用ID为10的值。另一个问题是存在差距。 所以如果我把价值指标2,3,5,7,8,10有0,1,4,6,9的空白。 有没有办法摆脱空白,但保持索引? 任何和所有的帮助表示赞赏。 谢谢。 这是我如何把值放入combobox。 我正在使用DEPOT_ID作为索引。 ComboBox1.AddItem rs![DEPOT_NAME], rs![DEPOT_ID]

一个function下拉的三个combobox

我遇到了一个问题,将三个可search的combobox与下拉列表结合在一起。 我用类似于这个的方式创build了三个可search的combobox,我从YouTube( video )上下载。 简而言之,它是一个可以键入的combobox,它dynamic地将ListFillRange更新为string中的types。 因此,您可以search一个国家,然后在dynamic下拉列表中select它。 我有三个comboboxselect国家。 combobox在一张纸上,dynamic列表(称为CountryOne,CountryTwo,CountryThree – 在名称pipe理器中创build)位于单独的工作表上。 我已经将file upload到了Dropbox上。 对于combobox,使用下面的简单代码: Private Sub ComboBox1_Change() ComboBox1.ListFillRange = "CountryOne" ComboBox1.DropDown End Sub Private Sub ComboBox3_Change() ComboBox3.ListFillRange = "CountryTwo" ComboBox3.DropDown End Sub Private Sub ComboBox2_Change() ComboBox2.ListFillRange = "CountryThree" ComboBox2.DropDown End Sub 每个combobox都能正常工作,直到我select其中一个国家。 select了一个国家后(比如在combobox1中),我移动到另一个combobox(combobox2),该combobox的下拉列表停止工作。 如果我在combobox2中input某些内容,下拉列表将显示在combobox1(与所选国家/地区的combobox)下,并只显示所选国家。 这很难解释,所以请看文件。 为了帮助发现问题,我创build了以下video 。 在这里我首先testing所有三个combobox,并且它们工作正常。 然后我select其中一个国家,另外两个国家停止正常工作。 任何想法来解决这个问题将是非常有益的。

将combobox下拉菜单设置为dynamic范围的值

上次我问到这个问题,我得到了一个解决scheme,但是我不能再运行代码。 在我尝试之前: 根据更改Combobox值设置单元格查找值 Sub DropDown7_Change() Application.ScreenUpdating = False Dim vlook_val As String Dim v_table_array As Range 'Dim totals_sheet As Worksheet Dim col_index As Integer Dim col_index_1 As Integer Dim result As Variant Dim result_1 As Variant Dim list_val As Long list_val = Worksheets("front page").Shapes("Drop Down 7").ControlFormat.Value Sheets("front page").Range("K9") = Worksheets("pipe_totals").Cells((list_val + 1), 1) Call front_page_vlookup(vlook_val, […]

Excel VBA上相互依赖的combobox

我正在创build工具的检入/检出系统,我正在尝试基本上为用户窗体中的工具创build一个searchfunction。 他们的search标准是供应商,品牌,零件号,长笛,切削直径,柄径,槽长和总长度。 在excel电子表格上有一个列表,其中列出了可用的工具和上面列出的所有信息。 当用户打开用户表单时,有8个combobox对应上述search条件。 每个combobox的列表中都填充了该search条件的每个选项,列表中没有重复值(例如:对于长笛,有2个长笛和3个长笛的工具,所以在Flutes的combobox中,列表将包含2和3,有多个钻头,3个钻头和多个钻头,2个钻头,但只有2个和3个钻头)。 我遇到的麻烦是其他combobox列表每次更改comboboxfilter。 所以,当我在长笛combobox中input3个长笛,并在整个长度上input3吋长时,我希望组合列表的其余部分仅包含3吋长的3个长笛的选项。 我试图能够筛选用户的选项,直到只有一个选项或多个特定的标准,所以用户有一个select。 如何去做这个最好的方法? 我一直在这方面挣扎