Tag: combobox

填充ComboBox时Excel VBA对象所需的错误

我收到以下错误 – 运行时错误“424”:需要的对象 这里是我得到错误信息的代码。 出现错误的行用****突出显示 Sub LoadDropdown_Click() Dim cnt As ADODB.Connection Dim rst As ADODB.Recordset Dim stDB As String, stSQL As String Dim xlCalc As XlCalculation Dim vaData As Variant Dim k As Long Set cnt = New ADODB.Connection cnt.connectionString = Module1.GetConnectionString stSQL = "EXEC dbo.GetData" With cnt .CursorLocation = adUseClient 'Necesary for creating disconnected […]

如何在combobox中导出excel文件的值

我想将表中的数据导出到excel文件中,我使用的是table2excel插件,除了表单combobox的值之外,它可以正常工作,我只想导出选定的值,这怎么办呢? function ExportResults() { startDate=document.getElementById("Start_Date").value; endDate=document.getElementById("End_Date").value; $('#OrderTable').table2excel({ exclude: ".excludeThisClass", name: "Excel Document Name", filename: "Search Results (" + startDate + "-" + endDate + ")", //do not include extension fileext: ".xls", // MUST use .xls extension, only this will work }); }

等到用户停止键入ComboBox运行macros(VBA)

我正在编写一个交叉引用数据库。 根据select或创build的文档名称生成ID。 标题中提到的ComboBox在更改(3个字母后)时会执行,检查数据库是否有类似的条目,并显示与之匹配的下拉选项。 从匹配列表中选取一个条目或创build一个新名称 – 生成相应的编号。 由于DropDown列表是在每个字母input后生成的,因此需要一段时间才能input所需内容。 我想在最后一次更改后等待几秒钟来运行macros。 任何想法,我怎么能做到这一点?

VBA:ComboBox只显示Workbook_Open事件后的一个项目

我试图有一个Workbook_Open事件填充控件combobox,以便当用户转到Worksheet("Benchmarking") ,他们有一个预填充列表可供select,其中包括数组datesArr中的所有项目。 我遇到的问题是,打开电子表格并导航到Worksheet("Benchmarking") ,我只在下拉列表中看到一个项目: 如果我select那个项目然后列表实际上填充: 预期结果: 我希望从第一次用户试图进行select不仅仅是在ComboBox1_Change事件被激发之后,完整列表才可用。 审查了许多后,例如有时ActiveXcombobox只显示一行,为什么? , 在WorkBook打开combobox我已经尝试了几种不同的方法,包括Workbook_Open事件代码中的以下内容: .ListFillRange = "DropDownDates" .List = DateArrToStrAr 我也打了添加项目到ComboBox1arrays。 每次我在下拉结果中获得相同的1个可见项目。 有人能告诉我哪里错了吗? 我目前的代码是 1) ThisWorkbook Private Sub Workbook_Open() With Worksheets("Benchmarking").OLEObjects("ComboBox1").Object .Clear .List = DateArrToStrArr ' End With End Sub 2) 工作表(“标杆pipe理”) : Private Sub ComboBox1_Change() 'QH 2/11/17 Dim datesArr() As String Dim ws As Worksheet Set ws = […]

检测Excel上运行时添加的combobox上的事件

我在Excel中的VBA脚本有问题。 我所做的是基本上创build的button,当按下时将创build一个两个额外的combobox在一个表中的一组。 可以连续按下此button来添加更多combobox。 这些新创build的combobox将performance如下: 创build了2个combobox Combobox1将在控制表中加载一些列表 只要selectCombobox1中的项目,Combobox2将加载要添加到Combobox2中的项目列表 添加button的代码是这样的 Sub Add_Criteria() Dim controlNum As Integer Dim name1 As String Dim name2 As String Dim oOle1 As OLEObject Dim oOle2 As OLEObject Dim uniqueString As String Dim cb1 As Object controlNum = Sheets("Controls").Range("A16").Value 'adding Control Set oOle1 = Sheets("System").OLEObjects _ .Add(ClassType:="Forms.ComboBox.1", Left:=10, _ Top:=75 + (controlNum * […]

文本和值comboboxExcel VBA

我在Excel中有两个表格 第一张桌:表学生:身份证,姓氏,名字地址等。表二:学生注意事项:每个学生可以有一些logging,我有这个表的两列。 学生证和注释表我想填写表格 将形成一个combobox与所有的学生和一个文本框input笔记,添加button将添加logging 我想要一个combobox会出现学生的姓名(姓氏和名字),当他们点击添加时,代码将把选中的学生的ID学生 我以为combobox可以为每一行设置:文本和值,文本视图和值不是 在ASP.NET中 dropdownlist.datatextfield = Name dropdownlist.datavaluefield = ID 现在我看到只有文字可以设置 我错了,我不知道,如果不是我怎么能解决这个问题

Excelcombobox – 如何使用Tab键来select单元格?

我在Excel中使用combobox。 当我在combobox中时,是否可以使用Tab键来select特定的单元格? 例如,如果我只是从下拉列表中select或键入它,我可以不知何故按Tab键来select需要填写的下一个字段? 这是电子表格中的唯一对象,因此我希望select的下一个项目是一个单元格。 当我按Tab键时,我无法做任何事情。 这一点的信息可能不会有任何用处,但我使用VB脚本来填充combobox。 这个脚本很好用,所以我不需要帮助。 如果它是一个没有脚本的新combobox,选项卡将不起作用。 我想我会提到这一点,因为我会愿意使用某种脚本来获得Tab键的工作。 如果需要此信息,我正在使用Office 2010和Windows 7。 感谢任何人可以提供的帮助。 克里斯

消除多个Elseif语句

我试图保持我的代码清洁,特别是在用户forms中使用combobox可能会有很多,如果Elseif语句。 应该有一个更简单的方法,没有多页代码只有一个combobox在那里? 现在是如何完成的例子: Sub Example() Dim Variable as String If Combobox1.Value = "Option1" Then Variable = "Name1" Elseif Combobox1.Value = "Option2" Then Variable = "Name2" Elseif Combobox1.Value = "Option3" Then Variable = "Name3" Elseif Combobox1.Value = "Option4" Then Variable = "Name4" Else Variable = "Name5" End if End Sub 正如你可以想象,这可以成为一个20名的长码,想象有3-4下拉菜单的。 有没有任何(可接受/已知)的方法来简化这个?

更改一系列ActiveXcombobox的属性

我有一个有两列ActiveXcombobox的工作表。 我希望能够单独更新列,但一直没有find一个干净的方式来做到这一点。 这是我现在使用的: Sub UpdateNames() Dim TotalCount As Integer Dim VariableText As String TotalCount = Worksheets("Variables").Range("C1") VariableText = "Variables!$B$1:$B$" & TotalCount ActiveSheet.Shapes("ComboBox1").OLEFormat.Object.ListFillRange = VariableText ActiveSheet.Shapes("ComboBox2").OLEFormat.Object.ListFillRange = VariableText ActiveSheet.Shapes("ComboBox3").OLEFormat.Object.ListFillRange = VariableText ActiveSheet.Shapes("ComboBox4").OLEFormat.Object.ListFillRange = VariableText 等等 C1只包含一个数字。 这种方法的作品,但真的很烂。 我想要的是一行代码,而不是每个combobox的一堆行。 例如: ActiveSheet.Shapes("ComboBoxX").OLEFormat.Object.ListFillRange = VariableText 这应该是超级简单的,我觉得不得不问。 我读了一个数组可以工作,但我似乎无法弄清楚如何让它的工作。 我也想能够在名为“名单”的另一张表上使用这个macros。 这个代码会工作吗? Roster.Shapes("ComboBox1").OLEFormat.Object.ListFillRange = VariableText

用户表单初始化时,combobox未填充,但在closures和重新打开表单后填充

出于某种奇怪的原因,一旦表单被初始化,我的combobox就不会被“预加载”内容,用户必须首先closures表单,然后再次打开,以便combobox被预先填充。 这是一个开始激怒最终用户的错误,为什么会出现这种情况呢? 我已将Boot添加到电子表格中的一个button上,该button初始化表单。 代码如下: 在UserForm1中 Private Sub UserForm1_Initialize() Call GetPrimaryContact Call GetSecondaryContact End Sub 在Module1中 Public itm1 Public itm2 Sub Boot() UserForm1.Show Call GetPrimaryContact Call GetSecondaryContact End Sub Sub GetPrimaryContact() Dim Col As New Collection Dim i As Long Dim CellVal As Variant ' Clear filters ThisWorkbook.Sheets("Master").AutoFilter.ShowAllData ' Get last row LastRow = ThisWorkbook.Sheets("Master").Cells(Rows.Count, "A").End(xlUp).Row […]