Tag: combobox

多个Worksheet_change事件互相触发

我有一个工作簿在工作表中有多个Worksheet_Change事件。 这些macros中的每一个都与一个活动的xcombobox有关。 问题是,当我改变其中一个combobox的macros触发(如预期的),从而启动另一个macros(这是不假设运行)。 我已经设置了Application.EnableEvents = False但问题可能是我正在改变一个cell.value,它链接到另一个combobox,因此也链接到另一个worksheet_change事件。 如我所见,解决方法可能是只运行macros,如果combobox是实际选定的combobox,但这里是第二个问题。 我无法find一个方法让vba返回活动combobox的名称。 请注意,这些combobox未连接到用户窗体,它们只是直接放置在工作表上。 有没有人有任何想法如何解决这个问题? 任何帮助深表感谢,

在Excel 2013中使用VBA填充Combobox(表单控件)

我是VBA新手。 我一直在尝试几个小时来执行一个使用VBA代码填充combobox(表单控件)的简单函数。 我看了很多网站(包括这一个),但没有任何代码似乎工作。 我一直在使用这个代码。 (我把这个代码放在一个模块中) Sub populateDropDown303() With Worksheets("S1 Fuel Consumption").Shapes("Drop Down 303").ControlFormat .AddItem "this" .AddItem "that" End With End Sub 嘿,我的代码工作。 但每次我从combobox下拉列表中select一个值时,它将再次运行代码并显示重复值。 我如何删除?

VBA:不能将项目添加到combobox

我试图通过VBA添加一些项目到下拉列表中。 每当我设置组合variables,我得到一个13错误。 我不能将组合variables设置为来自libro表单的combobox,因此我不能使用combobox.additem属性,我该如何设置它? Sub Prueba() Dim libro As Worksheet Dim combo As ComboBox Set libro = ActiveWorkbook.Sheets("Tabla Paquetes") Set combo = libro.Shapes("ComboBox1") With combo .AddItem "Paris" .AddItem "New York" .AddItem "London" End With End Sub

通过匹配项目中任何位置的string筛选VBAcombobox

在我的Excel表中,我有一个有很多值的combobox。 目前只需inputstring的前几个字母即可跳转到combobox中的项目。 比方说,我有我的combobox中的这些项目。 约翰·史密斯 特德·詹姆斯 菲利普价格 汤姆·哈代 詹姆斯·迪恩 Chris Keaking 所以如果我开始inputTe它会过滤到Ted James 。 但是说我只知道姓和我inputDean ,没有什么可以匹配,因为它只从string的开头search,而不是在string中search。 同样,如果我inputJam它会过滤到James Dean而不是Ted James 。 有没有一种方法来复制VBA的行为,如Select2插件 ,它可以searchstring中的任何位置并进行相应的过滤?

如何从列中添加combobox的值?

我想设置一些数据到combobox。 这个代码块在Sub Auto_Open()不起作用。 如何解决这个问题呢? 我能做什么? With Sheet2.ComboBoxTetiklenenEvent .Clear .ListFillRange = "Sheet2!B10:B16" End With

Excel VBA – 将值插入多列combobox

在Excel中,我在用户窗体上有两个combobox。 当我select第一个combobox时,它会过滤当前工作表中的行并在combobox2中显示值。 我想combobox2是一个多列combobox,所以我可以从一个工作表复制和粘贴多个值到另一个,但我不能获得多个值combobox2。 这是我一起入侵的代码。 我能够在combobox1中更改值时筛选结果,但combobox2显示的是单个值: Private Sub ComboBox1_Change() Me.ComboBox2.Clear 'filter the results in combo box 2 when the user selects the different options in combo box 1 Dim wb As Workbook Dim ws As Worksheet Dim copyFrom As Range, aCell As Range Dim lRow As Long Dim strSearch As String Set wb = ThisWorkbook '~~> […]

将Excel中列中的某些单元格导入到C#

我的excel文件是那个column1A:城市,安卡拉,安卡拉,安卡拉,伊斯坦布尔,伊斯坦布尔,伊兹密尔我想combobox看起来像安卡拉,伊斯坦布尔,伊兹密尔它不再。 OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0"); baglan.Open(); string sql = "Select * From [Sayfa1$A1:A100] "; OleDbCommand komut = new OleDbCommand(sql, baglan); OleDbDataReader dr = null; dr = komut.ExecuteReader(); while (dr.Read()) { if (dr[0] != "") { combobox1.Items.Add(dr[0].ToString()); } else { break; } } baglan.Close();

Excel Form VBAcombobox重置

这应该很容易,但我似乎无法find任何解决办法。 我有一个使用VBA的Excel表单。 Excel工作表有四列填充数据和窗体显示这些字段。 然后,用户在combobox中select一个值,使用命令button提交响应,并将combobox中的值写入Excel工作表。 然后,用户使用命令button在电子表格中向前推进一行,并从新行加载四个值。 这一切都很好。 我试图解决的问题是,combobox仍然select在先前的select价值。 我想重置combobox,所以没有select,用户必须再次为下一行做出select。 下面是我用来加载combobox,并为用户select的variables设置的代码。 用户提交表单后似乎无法将combobox恢复为默认状态。 Private Sub cbDesAccWanted_Change() Select Case cbDesAccWanted.Text Case "Yes" desacc = "Yes" Case "No" desacc = "No" End Select cbDesAccWanted.Text = desacc End Sub Private Sub cbDesAccWanted_DropButtonClick() cbDesAccWanted.List = Array("Yes", "No") End Sub

不添加到comboboxVB​​A的项目

我正在使用Excel VBA将string从另一个工作表的单元格行放置到combobox下拉列表中。 当用户input到combobox中时,下拉列表应该过滤结果为只包含与combobox中键入的字符相同的结果。 但是,我无法得到代码来使这种行为发生。 代码似乎只抓取数据表中每个string的第一个字符,而不匹配任何string的任何位置的字符。 当工作簿打开时: Public Sub Workbook_Open() InitnewCmb End Sub newMdl: 这部分工作: Public newCol As Collection Public indNewCol As Long Public lastColumn As Long Public newCargoNum As Long Public Sub InitnewCmb() 'Initialize combobox lastColumn = Database.Cells.SpecialCells(xlCellTypeLastCell).Column Set newCol = New Collection newCargoNum = 0 With newCol For indNewCol = 2 To lastColumn .Add […]

Excel vba:根据列A中的单元格获取列B上的单元格区域

我有一个从所有工作表获取信息的vba脚本,将它们添加到不同的combobox,每当从combobox中select一个值,会发生不同的事情。 第一个组合我填充如下: Private Sub Workbook_Open() Dim oSheet As Excel.Worksheet Dim oCmbBox As MSForms.ComboBox Set oCmbBox = ActiveWorkbook.Sheets(1).cmbSheet oCmbBox.Clear For Each oSheet In ActiveWorkbook.Sheets If oSheet.Index > 1 Then oCmbBox.AddItem oSheet.Name End If Next oSheet End Sub 第二个combobox正在执行以下操作: Private Sub cmbSheet_Change() Dim oSheet As Excel.Worksheet 'Report combo box Dim oCmbBox As MSForms.ComboBox Set oCmbBox = ActiveWorkbook.Sheets(1).cmbSheet […]