Tag: combobox

访问comboboxListIndex,运行时错误'438',xls vs xlsm?

我有一个代码,从一个Excel表中取得值,并把它们放在另一个表中的同一个地方。 这包括combobox索引以及单元格值。 这两个电子表格具有相同的结构和相同的表单元素,但是一张表具有不同的图像作为标题。 这是错误的线: Workbooks(Template).Sheets(Sheet1).ComboBox12.ListIndex = Workbooks(OriginalFile).Sheets(Sheet1).ComboBox12.ListIndex Template和OrignalFile是文件名, Sheet1是工作表选项卡的名称, ComboBox12在两个文件中都以“ ComboBox12 ”的forms存在。 所以这是问题。 当我运行第一次打开这两个文件的脚本,然后运行一堆这些命令时,它会出错 "Run-time error '438' Object doesn't support this property of method". 但是,如果我运行的代码行,而这两个文件已经打开,它运行得很好。 为了使事情更有趣,在97-2003 .xls文件上运行代码完美地工作。 而且它似乎没有什么区别模板文件的版本。 只有当原始文件是.xlsm版本时,代码才会出错。 (从VBA窗口打开后,我仍然可以运行) 为了certificate这是导致行为改变的文件版本,我使用了一个.xls文件,代码可以正常工作,并将其保存为.xlsm,然后用新文件名重新运行代码,并将其错误地删除。 有任何想法吗? 在Excel中打开.xlsm文件后,是否发生了这种情况:我的vbamacros丢失了? 我感谢任何帮助!

Excel VBA中的combobox中的不可选项目

我有一个combobox(在Excel中的用户表单),其数据源是设置标题(工作表中命名区域)的菜单项。 现在,我的解决方法是擦除这些标题(例如主课程,甜品,饮料等),但我仍然想知道是否可以添加这些不可选标题,以便最终用户区分不同的菜单项。 任何帮助将非常感谢:) 例如 Main Courses (**unselectable**) Roast Beef with Mashed Potato (selectable) Spicy Spareribs (selectable) Beef Stroganoff (selectable) Roast Chicken (selectable) Desserts (**unselectable**) Mango Float (selectable) Brownies (selectable) Lemon Squares (selectable)

相同的combobox在不同的工作表上

我想这可能适用于Excel中的任何Form控件。 我有一个combobox从ControlData表中获取值。 我在另一个工作表中创build了一个Combo Box ,它引用了ControlData表单元的列表值。 我可以将该Combo Box对象复制到不同的工作表上,但是当我在一个工作表上更改该对象的属性(例如,更改值来自的范围)时,只会在更改属性的工作表上进行更改。 我想普遍地改变属性,所以我只需要做一次。 我怎么做?

如何在喜欢的combobox中使用vba在Internet Explorer中的值

我正在尝试使用VBA在网站上填写表单。 问题:问题是,在网页中,例如,如果我手动在第一个combobox中select一个值,则它会激活下一个combobox(否则会显示为灰色),从而链接combobox。 但是,当我尝试在下面的代码的最后一行中使用vba填充combobox中的值时,下一个combobox仍为灰色/非活动状态。 请帮忙。 Sub newabc() Dim ie As Object Set ie = CreateObject("internetexplorer.application") ie.Visible = True ie.navigate "URL" While ie.Busy DoEvents Wend ie.Document.getelementbyid("USER").Value = "username" ie.Document.getelementbyid("PASSWORD").Value = "password" ie.Document.all("Submit").Click While ie.Busy DoEvents Wend ie.navigate "tab" While ie.Busy DoEvents Wend ie.Document.all("new").Click While ie.Busy DoEvents Wend ie.Document.all("j_id0:frm:jobTrackerPageBlock0:startflds1:repeat5:1:inputField").Value = "Media Payables" 'problem occurs here as the next […]

如何启用Excel VBAcombobox自动更新

我正在创build一个处理学校项目库存的用户表单。 我创build了一个combobox来删除选定的项目,但我不知道如何删除某个项目后更新列表。 我正在使用下面的代码来执行删除和刷新functionionality。 Private Sub cmdDelete_Click() Dim row As Long row = cbPCodeIM.ListIndex + 2 Sheets("Inventory").Select Sheets("Inventory".Range("A" & row & ":E" & row).Select Selection.Delete shift:=x1Up 'the following line does not seem to work when uncommented 'cbPCodeIM.ListFillRange = "=Inventory!$A$1:index(Inventory!$A:$A;CountA(Inventory!$A:$A))" MsgBox "Item has been removed.", vbOKOnly End Sub

从mac上的给定范围填充Userformcombobox(excel 2011)

你如何使用mac上的给定范围的值填充combobox。 我一直在寻找答案的最后一个小时,但没有任何解决scheme似乎工作。 我有一个名为Details的用户窗体和一个名为CurrencyList的combobox,我想用A23:A30值填充。 没有可以find的rowource属性。 我试着用这个答案的答案如下: Private Sub Details_Initialize() Me.CurrencyList.List = Worksheets("mySheet").Range("A23:A30").Value End Sub 但combobox空了。 谢谢你的帮助,我确定它是一个非常简单的问题!

链接Combobox与文本框在Excel中

我在Excel中创build一个用户窗体,以方便地将文本input到工作表中。 我有第二个工作表,其中包含必须填充到用户窗体中的信息。 该表包含2列,一列(A)有数字,第二列(B)有与这些数字链接的项目的描述。 目前我有第一部分人口工作。 正在使用此代码填充项目编号的combobox: Private Sub UserForm_Initialize() With Worksheets("nummers") cobProductNr.List = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Value End With End Sub 我的问题是,我在我的表单写什么代码,以便当我通过我的comboboxselect一个项目(数字),必须包含描述自动填充的文本框?

如何将ComboBox的项目设置为另一个项目

我正在使用Workshet的一些数据填充VBA ComboBox。 由于它是根据用户的select填充的,有时候某些级别不应该被填充,因为它们没有数据。 当这样的事情发生时,我想要填充与另一个combobox的项目。 怎么能做到这一点? 我想如果有人教我如何循环使用ComboBox的项目,我将能够做我想做的事情。

隐藏空的ComboBox列表项

我有: 3列与数据 3个arrays 3个combobox 这个想法是select一个combobox项目,并让另外两个combobox显示同一行其他单元格中的数据。 我有超过5000行的数据,并且在三列中有超过一百个空单元格。 有一些行只有三个单元格中的一个或两个包含数据。 如果我不包含空单元格,我会遇到错误的数据显示在combobox中,例如,如果Bar(3,5,10)为空,ComboBox1项目Foo(11)将不等于ComboBox2项目Bar(11) ,而是显示ComboBox2项目Bar(8) 。 我需要一种方法来隐藏下拉列表中的空combobox项目,但不能从列表中删除它们。 该代码作为示例 形成: Private Sub UserForm_Initialize() Set FooBar = ActiveWorkbook.Sheets("foobar") Call PopulateArray(FooBar, 1, Foo) Call PopulateControl(Foo, UserForm1.ComboBox1) Call PopulateArray(FooBar, 2, Bar) Call PopulateControl(Bar, UserForm1.ComboBox2) Call PopulateArray(FooBar, 2, Baz) Call PopulateControl(Baz, UserForm1.ComboBox3) End Sub Private Sub ComboBox_Change() ViewSelected UserForm1.ActiveControl End Sub 模块: Public Foo(), _ Bar(), […]

将条件设置为UserForm中的combobox列表内容

目前,我正在创build一个简单的用户表单,用于将新项目添加到表单中。 然而,我现在面临的一个问题是,我有三个不同的行范围,包括三个不同大小的项目和细节。 例如,第1行到第100行包含大项目细节,而第150行到第250行是中等项目,第300行到第400行是小项目细节。 因此,通过使用组合下拉列表,用户将select“大项目”或“中等项目”或“小项目”。 之后,新的项目详细信息将被插入到工作表中的新行中,这取决于他们已经select的项目大小,在combobox下拉列表中。 我有下面的代码让我开始,但不知道如何进行: Private Sub UserForm_Initialize() With ComboBoxProjSizes .AddItem "Big Project" .AddItem "Medium Project" .AddItem "Small Project" End With End Sub