Tag: combobox

如何在Excel VBA中使用表的前两列在用户窗体上创build两列combobox?

我正在寻找生成一个用户窗体中的combobox,单击我的Excel电子表格上的命令buttonpopup。 目的是从combobox中selectdate和时间(包括特定date的多个条目的时间),然后单击表单上的“完成操作”命令button将值从“否”更改为“是”在所选条目的行的结尾处的单元格中。 从迄今为止所做的研究来看,这是我能够理解的唯一代码,但是我没有得到我期待的显示结果。 Private Sub UserForm_Initialize() Dim v, e With Sheets("Phone Log").Range("B9:C76") v = .Value End With With CreateObject("scripting.dictionary") .comparemode = 1 For Each e In v If Not .exists(e) Then .Add e, Nothing Next If .Count Then Me.combobox1.List = Application.Transpose(.keys) End With End Sub 有人可以请帮助代码来显示非空白行的下拉列表,以便两列参考数据显示alignment,然后采取选定的行,并更改单元格的值向右几列,一旦用户单击“完成操作“命令button? 我也将开放的combobox/用户forms是一个单独的子,所以我可以使用它只是select行,并从收集用户selectdate的命令button运行单独的function。 TIA〜Decoy

Excel VBA Worksheet.Change无法正常工作

我有下面的代码,基本上放置在数据validation框(如果单元格包含数据validation框)combobox,以便用户仍然可以有自动完成function,但数据validation停留在单元格中。 '================================================================================================= 'From: http://http://www.contextures.com/xlDataVal14.html 'Code places combobox over data validation boxes to gain the autocomplete feature Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.ScreenUpdating = False Dim Cancel As Boolean Dim str As String Dim cboTemp As OLEObject Dim ws As Worksheet Set ws = ActiveSheet On Error GoTo errHandler If Target.Count > 1 Then GoTo […]

Excel 2007combobox – 开发人员function区与VBA模块

有人可以向我解释通过Excel 2007中的开发人员function区提供的combobox与VBA编辑器中的combobox控件之间的区别吗? 我无法得到这个简单的代码行工作使用开发人员combobox: MsgBox Combo1.Value 我已经将它绑定到更改事件,它似乎在语法上是正确的(我不是任何拉伸的VBA编码器)。 开发者function区版本是一些混蛋的微软快捷方式吗? 我想要做的是根据第一个combobox的select填充第二个combobox。 我宁愿不为每一个可能的selectbuild立一个案例说明。 这是可能的使用开发人员function区版本?

如何使用命名数组常量填充Excel中的Active-Xcombobox

我想设置我的ComboBox值作为一个命名的数组常量,在那里你进入名称pipe理器,并定义一个名称,并给它一个值,如: ={"A", "B", "C"} 我发现ListFillRange将只有一个范围,所以我不能分配。 虽然它可以用于正常的命名范围,如下所示: myComboBox.ListFillRange = "MyList" 那么如何分配一个命名数组常量来填充combobox?

添加近1000个combobox时出错

我在数据采集领域工作,我们的客户需要一种方法来轻松设置多达256个input通道的设置。 每个通道需要4个combobox才能表示所有的可configuration选项。 这是一个看起来像什么的链接。 这些combobox在运行时使用以下方法在循环中创build: Set obj = Worksheets("Synergy Setup").OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=ttl_width + cell_width, Top:=ttl_height, Width:=cell_width2, Height:=cell_height) 一切工作正常约243通道(或接近1000combobox),然后我得到以下错误: “自动化错误,元素未find,错误-2147319765” 使用MsgBoxes我已经确认,它确实是导致此错误的上述代码行,它只发生在接近1000combobox时。 此外,发生此错误后,我的Excel文件中的所有内容都被破坏了,并且我不断得到错误“对象库无效或包含对无法find的对象定义的引用”。 (编辑:不相关) 重申一下,这只会发生在大量的combobox。 有什么想法吗? 编辑:我想跟进并说,对单元格combobox的更改不仅解决了我的问题,而且加快了我的devise10倍,令我惊讶的是,大大简化了代码! 谢谢!

从多个combobox中删除项目

我有7个combobox。 所有这些combobox具有相同的来源。 With Sheets("Data_Sheet") Sheets("UI_Interface").ComboBox2.ListFillRange = "Data_Sheet!E2:E" & .Cells(Rows.Count, 5).End(xlUp).Row End With 相同的代码已被写入其他组合。 现在,当从combobx1中select一个值时,它不应该出现在其他的combobox中。 当我尝试用下面的代码来做到这一点,但我得到这个代码的错误。 j = ComboBox1.ListIndex ComboBox2.RemoveItem (j) 我也尝试了一些不同的属性来删除值,但都给了一些例外。 这段代码有什么不正确?

Backspace键在Excel 2010 VBAcombobox中高亮显示文本,而不是将其删除

这个令人讨厌的小问题让我心有余悸。 我正在为Excel 2010构build一个vba项目,它涉及到几个用combobox填充数据列表的用户窗体。 无论什么原因,在这些combobox中使用时,退格键会突然停止正常工作。 看看这个部分截图: 其中突出显示的方框是"Test Item No.1" , "Test Item No.2"等combobox。所以如果我在那里有"Test Item No.5" ,我想退回5并放入1,我不能再。 它只是亮点。 我再说一遍,因为昨天工作正常。 我已经尝试加载文件的以前的版本,也重新启动我的电脑。 还是行不通。 请帮助!

尝试从已填充的Combobox VBA中删除特定的项目

在VBA中,我正在编写一个代码,用于基于用户窗体中的初始input收集信息。 从最初的入口点,我想要代码出去find相应的数据并添加它。 我有这一切运作良好。 但是我正在收集数据透视表中的数据,如果数据透视表打开,它将返回空格,“空白”和“总数”,这是我想摆脱的 。 我目前的代码是: lcomboCount = Sheets(pt).PivotTables("Pivottable1").TableRange2.Rows.Count For i = 1 To lcomboCount datapoint = Sheets(pt).PivotTables("PivotTable1").PivotFields("combo").LabelRange.Offset(i, 0).Value UserForm1.ComboBox.AddItem Sheets(pt).PivotTables("PivotTable1").PivotFields("combo").LabelRange.Offset(i, 0) Next i For i = 0 To Me.ComboBox.ListCount – 1 If Me.ComboBox = "" Or Me.ComboBox = "Grand Total" Or Me.ComboBox = ("(blank)") Then Me.ComboBox.RemoveItem (i) End If Next i 我有一个Msgbox在那里,看看我的价值观是否正确,他们是。

dynamic范围和一个静态项目通过VBAcombobox

我有这个代码: With Sheet1.Shapes("comboBox1").ControlFormat .ListFillRange = "namedRange" .AddItem "1.Item" End With 但之后,只有“1.Item”在我的Combo-Box ,dynamic范围根本不出现。 我如何添加一个 Item和我的Range到Combo-Box ? 编辑 dynamicrange将工作,如果我删除.AddItem : With Sheet1.Shapes("comboBox1").ControlFormat .ListFillRange = "namedRange" End With 我的问题是,如果有可能结合那些不在一个范围内,而是相互分离。 提前非常感谢您的回答。

VBA在userform中dynamic创build几个文本框/combobox

我使用combobox和文本框dynamic创build一个用户窗体。 每行之一。 用户将select他想要的行数。 到目前为止,我可以根据行数调整Userform的大小并创build第一行。 但是第二行发生错误:运行时错误“-2147221005(800401f3)”:无效的类string结果是Userform生成这里是我的代码。 为了简化我将行variables分配给Nb = 3 Public Sub CommandButton2_Click() Dim Nb As Integer 'Nb = number of people to record Dim UF2 As Object Dim TbHour, TbBin As msforms.TextBox 'txtbox for number of hours done and bins Dim CBName As msforms.ComboBox 'List with names Dim i 'i = loop to create rows Nb […]