Tag: combobox

Excel用户表单combobox一旦提交输出到excel

我是相对较新的整个VBA,所以任何帮助将不胜感激…我有我的combobox(一旦你点击提交button)input信息到我的Excel电子表格中的特定列的问题每次input新logging时,都会向下移动。 请参阅下面的代码,如果您需要任何进一步的信息请离开:)很多在此先感谢宝拉 Option Explicit Private Sub cmdAdd_Click() Dim irow As Long Dim EorP As String Dim ComboStaus As ComboBox Dim ws As Worksheet Set ws = Worksheets("BS Personal Data") 'find first empty row in spreadsheet irow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _ SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1 EorP = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _ SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1 Combo = […]

使用VB.net和Excel(combobox和search)

编程新手,需要在VB中使程序与后台的Excel进行交互 想法是有两个combobox,一个“国家”,另一个“城市”(如果select的国家,城市名单将减less到该国;如果select城市,则自动select国家); 我有一个DataGridView,它显示了两个来自excel speadsheet,人的拳头名称和姓氏的列。 所以考虑到这个城市或者一个国家/城市,一个人的名单将被展示在那个国家。 此外,我正在努力build立一个search框,当你键入一个文本字段时,给定你到目前为止input的内容,它将过滤GridView中的名字(包含你input的内容)。 到目前为止,我已经设法得到其他的工作,如单选button和checkbox不同的选项。 我找不到任何可以用于combobox和search字段的工具(没有button,所以需要进行“实时”过滤过程)。 我很熟悉SQL,因此我一直在使用sql向excel发送查询并检索网格视图的信息。 能否请你帮忙? (可能会提供我如何编码的模板….) 我正在使用Visual Basic 2012和OleDB 4.0(如果我没有错)进行连接。 鉴于下面的评论,我find的search栏的解决方法是创build一个button,然后使其尽可能小,并隐藏在search栏后面“发送到后面”,使其看起来似乎完全禁用它… 然后,我已经使用下面的代码为button: Private Sub BtSearch_Click(sender As Object, e As EventArgs) Handles BtSearch.Click Try FillSearchResults("SELECT First_Name, Last_Name FROM [Database$] WHERE Country LIKE '%" & Country.Text & "%'") Country.Text = dt.Rows(0).Item(1) Catch ex As Exception MsgBox("Not Found") End Try End Sub 对于文本字段(使用户点击Enter时search结果): […]

将ListObject列添加到Userformcombobox列表时出错

我有一个用户表单,我命名为UFCustInfo。 在工作表区域,我有一个macros来显示窗体 – Private Sub CmdShowInputForm() UFCustInfo.Show End Sub 这被分配到工作表上的一个button(表单控件)。 在用户窗体中,我也有一个初始化例程来填充用户窗体上的combobox – Private Sub UserForm_Initialize() Me.CBCustName.List = ActiveSheet.ListObject("CustInfo").ListColumns(1).DataBodyRange.Value End Sub 当我单击命令button来显示窗体,我得到运行时错误'438':对象不支持此属性或方法,并debugging突出显示“UFCustInfo.Show”行。 如果我禁用(注释)Initialize行,表单将加载,但(当然)combobox不会填充。 我也有代码来添加新的,清晰的forms和closuresforms,只要我不运行初始化代码,所有运行良好。 我错过了什么?

Excel可伸缩性和速度问题(VBA,数组和combobox)

上下文 在同一位置有两个Excel工作簿:数据库和仪表板。 尽pipedatabase.workbook具有与我pipe理的客户端一样多的选项卡,但dashboard.workbook具有与报告所需的一样多的选项卡。 在报告(dashboard.worksheets)中导航非常简单。 每个报告都有一个combobox,其中包含每个dashboard.worksheets的名称。 select该combobox上的任何报表隐藏当前工作表/报表并打开所需的报表。 在每个标签/报告中都有第二个combobox,可以让您select一个客户端,用所选客户端的数据填充报告。 那个报告 数据库中的信息如下所示:Date | Device | Group | Subgroup | metric1 | metric2 | metric3 |等。 报告中显示的信息(在我遇到的问题中)如下所示:Group | metric1 | 2 | 3 | … 问题 1)目前该组显示如下: =IFERROR(LOOKUP(2,1/(COUNTIF($C$17:C18,IF($C$8="Goldsmiths",Client1_GroupName,IF($C$8="Client2",Client2_GroupName,IF($C$8="Client3",Client3_GroupName,IF($C$8="Client4",Client4_GroupName)))))=0),IF($C$8="Client1",Client1_GroupName,IF($C$8="Client2",Client2_GroupName,IF($C$8="Client3",Z2,Client3_GroupName($C$8="Client4",Client4_GroupName))))),"") combobox将其值input范围(“C8”)。 通过嵌套的ifs结构,公式标识客户端,然后从选定的客户端选项卡(从database.workbook)中提取唯一的组列表。 一个问题是,它非常混乱,难以升级(我得到的客户越多,其复杂性成倍增长)。 我敢打赌,有最简单的方法来做到这一点(也许是VBA?)。 它可能会很慢,我们得到的“团队”越多,logging到数据库中的天数越多,得到的速度就越慢。 2)拉数据大部分拉数据可以通过这样的数组公式完成: ={SUM((Client1_GroupName=C20)*Metric1)} 它将匹配C20,C21,22,23的组的所有Metric1相加(在c20:xx范围内,我们有第一个拉动组列表的列表。 我还没有添加嵌套的ifs。 跨越5个列来完成这将是一件痛苦的事情。 再次很难升级。 这可能非常慢。 这意味着更改客户端意味着等待2到3分钟来处理数组。 结论 我想我正在寻求的是如何面对这个问题的一些build议,其本质是:可扩展性和速度。

属性“RowSource”无法显示在combobox上

如果将ListBox的.RowSource属性设置为命名范围,则可以在用户窗体的VBA显示和用户窗体的Excel显示中select行源。 但是,使用ComboBox,我只能在VBA显示器上看到这个。 如果在设置.RowSource属性后,我尝试将.AddItem到ComboBox对象中,我得到run time error 70, permission denied 。 Private Sub UserForm_Initialize() With pres_unit .AddItem "kPa" .AddItem "bar" End With End Sub 如何使用命名范围作为ComboBox的下拉选项的来源?

VBA Excel Combobox:下拉列表滚动问题

我正在运行32位Excel 2010.我创build了多个ActiveX控件combobox,它们都在其下拉列表中有多个条目。 事情是,而不是使用鼠标点击滚动列表,我想用鼠标滚动滚动列表,但它实际上不起作用。 当我在列表中滚动时,它会滚动整个列表而不是其中的内容。 那么有谁知道如何添加这个function呢?

为什么(Excel VBA)combobox更改事件每次触发它的一个属性被引用?

我是第一次在这个论坛上的用户。 这是我的场景:在用户窗体上,我有一个combobox,两个文本框和一个“确定”button。 当用户从combobox的下拉列表中进行select时,会触发combobox的更改事件,事件处理代码将根据用户select使用工作表中的信息填充文本框。 用户可以在一个或两个文本框中编辑信息。 用户然后点击“确定”。 OKbutton的单击事件然后将修改的信息从文本框写回到工作表中的单元格。 看起来相当简单。 这是我的问题:combobox的更改事件似乎触发每次它的属性被引用。 具体来说,下面的cb_CustomersUpdateOK_Click()子例程中的三个实例引用了combobox的ListIndex属性。 我在更改事件代码中放置了一个Msgbox来指示事件何时触发。 在“确定”单击事件代码中的三个分配语句的每一个上使用断点时,三个语句中的每一个都会触发(Msgbox显示)combobox。 当触发发生时,它将用comboboxselect中的初始数据覆盖文本框中的编辑信息。 (1)为什么combobox更改事件触发它的方式? (2)为防止这种情况发生,我该怎么做? 过去几个小时我一直在研究这个问题,而且我还没有发现任何非常有用的东西。 任何帮助将不胜感激。 请让我知道是否需要更多的信息。 Private Sub combo_CustomersUpdateLastName_Change() MsgBox "combobox changed" 'For debug purposes With Sheets("Customers") tb_CustomersUpdateFirstName.Value = .Cells(combo_CustomersUpdateLastName.ListIndex + 2, 2).Value tb_CustomersUpdatePhone.Value = .Cells(combo_CustomersUpdateLastName.ListIndex + 2, 3).Value End With End Sub … Private Sub cb_CustomersUpdateOK_Click() 'Copy the updated customer data from the […]

我的ComboBox不显示我在VBA中添加的值

我试图添加选项到用户窗体中的combobox。 当我运行代码时,Excel不会给出任何错误,但是当用户窗体显示时,它不显示我之前添加到combobox的实体。 也就是说,当我单击combobox时,它不显示任何选项,只有一个空行,就好像没有项目被添加到它。 这是我正在使用的代码: Private Sub UserForm_Initialize() ComboBox1.AddItem "xxx" ComboBox1.AddItem "yyy" ComboBox1.AddItem "zzz" End Sub 我正在使用以下代码来调用macros中的用户窗体: UserForm.Show

如何在活动单元格中创buildcombobox?

我想要创build一个脚本,select第一个空行,然后在该行的“A”列中放置一个下拉列表。 然后我想用.additem(“”)来添加我需要的项目。 我将如何做到这一点? 提前致谢。

什么是优秀的VBAcombobox更改事件?

我正在写一个VBA代码在我的Excel中。 我在Excel中的工作表中有combox框。 我想在用户selectcomboxbox中的不同项目时运行特定的子程序。 ComboBox更新时是否有任何事件? 感谢您的帮助提前