Tag: combobox

VBA – dynamic范围填充combobox

我有一个问题,我的ComboBox1,我想做一些隐藏的filter,使查看大量的数据更容易,我想select什么我通过combobox,其中inputselect是这个处理的数据的一部分过滤出来。 下面是一些代码,我试图写入填充combobox,但它出现了一个错误,说这是错误的使用方法。 Sub ComboBox1_DropButton_Click() Dim i As Range With Sheets("Pipe 16") Set i = .Range("G5:G" & .Range("G" & .Rows.Count).End(xlUp).Row) End With Me.ComboBox1.ListFillRange = "i" End Sub 任何帮助赞赏。 编辑 这不能通过使用VBA在Excel ComboBox中dynamic设置ListFillRange中显示的答案来回答

数据保存在combobox中,而不是实际化的

我希望你能帮我解决我这个小问题 我的文件包含3个工作表。 1.数据2.报告3.帮助工作表做一些计算 当我打开文件时,我点击一个button来实现一个计算,这会启动一些请求。 该请求首先将工作表1(数据)中的数据复制到工作表3(帮助工作表)。 在进一步请求之后,全部在用户表单中完成,工作表3中的数据被过滤以获得所请求的数据。 用户表单从工作表3中获取数据,并通过scritping字典显示在combobox中。 这是问题: 我的数据包含在三个电子表格中。 如果我点击工作表2上的button,这些请求会首次完成工作。 如果我想再次执行此操作(再次单击此button以执行复制,过滤和计算),则filter设置错误,计算也将如此。 但是,如果打开工作表3(当前视图在工作表3上,而不是工作表2上的button),并且我在编辑器窗口中手动启动请求和计算,则filter和计算总是正确的。 我认为错误是当combobox生成字典分别获取其数据和应用filter。 filter始终是第一次请求时设置的filter。 随着进一步的请求,filter不会改变,它仍然是第一个请求的filter。 也许在请求和计算之后应该有某种重置? 我用下面的代码为userform / combobox / scritping字典: Sub UserForm_Initialize() 'Taking the data from the helping working sheet Dim objDic As Object Dim lngZ As Long Dim i As Integer Set objDic = CreateObject("Scripting.Dictionary") With Sheets("helpsheet") For i = 12 To Sheets("helpsheet").Cells(.Rows.Count, […]

VBA Excel添加dynamic大小的范围到combobox列表

我在工作簿中有一个范围,我想从我的一个用户窗体设置到Combobox中的项目列表。 问题是Range可以是任何大小。 我目前通过退出Sub处理零案件,但是当范围中只有一个元素时。 当有一个元素,而不是返回一个数组元素,它只返回一个单一的String元素和列表框给我一个错误:运行时错误'381':无法设置List属性。 无效的属性数组索引'。 除了为只有一个元素的情况创build一个例外之外,有没有办法处理这个问题呢? 这里是代码:编辑:修正程序来准确表示问题。 Private Sub UserForm_Activate() Dim formList As Variant Dim lastRow As Long lastRow = getLastRowInCol(Sheets("HiddenVariables"), "B") If lastRow = 0 Or lastRow = 1 Then Exit Sub formList = Sheets("HiddenVariables").Range("B2:B" & lastRow).value 'If lastRow =2 then run-time error 381 is thrown Me.ComboBox.list = formList End Sub

EXCEL VBA:不显示combobox中的完整列表

我正试图在combobox中提取我的桌子上的订阅计划。 我能够做到这一点,但即使有49个计划需要展示,也只能显示5个计划。 Option Explicit Dim tush As Boolean Dim ching, i As Long Private Sub btnFax87_Click() ching = Worksheets("Subscription").Range("A1").CurrentRegion.Rows.Count boxSubF.Clear For i = 2 To ching boxSubF.AddItem Worksheets("Subscription").Cells(i, 1).Value Next i End Sub 以下是我需要在combobox中显示的信息的屏幕截图以及仅显示哪些信息。 没有滚动条或什么。 订阅计划 价值在combobox

Excelcombobox下拉项目基于以前的combobox

表单将接受信息,然后将信息复制到Sheet1。 该表格包含5个文本框和2个combobox。 第一个combobox选项是CRIS,TRACS和DOCS。 第二个combobox选项应该基于第一个combobox的select。 这是我的代码到目前为止: Private Sub cmdClear_Click() Call UserForm_Initialize End Sub Private Sub cmdMove_Click() Dim emptyRow As Long Sheet1.Activate 'Make Sheet1 active emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1 'Transfer information Cells(emptyRow, 1).Value = txtName.Value Cells(emptyRow, 2).Value = txtBtn.Value Cells(emptyRow, 3).Value = txtCbr.Value Cells(emptyRow, 4).Value = txtOrder.Value Cells(emptyRow, 5).Value = txtTrouble.Value Cells(emptyRow, 6).Value = ComboBox1.Value End […]

将二维数组的一部分VBA放入combobox.List

在我的代码中,我通过SQL查询Variant queryResult中的二维数组。 queryResult = RetrieveRecordset("SELECT * FROM Materials;") 数组然后看起来像: 如果我试图填满Combobox cbSTPScrewedMaterial.List = queryResult 它只填充值1和塑料,但我希望从塑料到硬塑料 – > queryResult(1)上面的图像的值,但是当我键入 cbSTPScrewedMaterial.List = queryResult(1) VBA呼应我运行时错误9:下标超出范围。 你有想法,我做错了什么,如何解决?

如何冻结ComboBox Excel VBA

我正在Excel VBA UserForm上编写脚本。 表单有三个不同的字段,用户可以填写ComboBox 。 我想使ComboBox 3的内容依赖于Combobox2input的内容。 ComboBox2被填充如下: With ComboBox2 .AddItem "Legal Information" .AddItem "Media" .AddItem "Official Disclosures" .AddItem "Patents and Trademarks" .AddItem "Private Corporate Information" .AddItem "Private Individual Information" .AddItem "Property Information" .AddItem "Public Company Information" .AddItem "Public Tenders" .AddItem "Ships, Vessels and Aircraft Information" .AddItem "Watchlists/Blacklists" End With 根据用户在ComboBox2input的内容, ComboBox3由不同的选项填充。 我正在做如下: Private Sub […]

VBAcomboboxoDictionary方法重复值

所以我试图通过名称和date列表循环。 用户在表单中input一个名字,然后当他们点击下拉菜单时,它将填入适用于该名称的date。 我正在尝试使用oDictionary方法来说明重复。 然而,每次我点击下拉菜单时,他们都会加倍重新填充。 所以,如果他们点击下拉菜单,然后再点击它,每个date有两个值。 Private Sub cbCancelApptDate_DropButtonClick() Dim NamePop As String Dim NameRange As Range Dim cell As Range Dim Countcells As Integer NamePop = tbNewApptName.Value 'Search All Appointments If Sheets("All Appointments").Range("C3") = "" Then Set NameRange = Sheets("All Appointments").Range("C2:C2") Else Set NameRange = Sheets("All Appointments").Range("C2", Sheets("All Appointments").Range("C2").End(xlDown)) End If Dim oDictionary As Object […]

selectComboBox AfterUpdate Excel VBA

我正在为UserForm编写一个脚本,用户可以通过它来注册以访问数据库。 UserForm有三个字段, Username , Password和Confirm Password 。 我已经这样做了,用户select一个用户名后,脚本通过现有的用户名运行一个VLookUp来检查用户名是否已经存在。 如果是这样,一个MsgBoxpopup,build议select另一个用户名。 在这种情况下UserForm所有三个字段都被清除。 我想使光标位于Username段,以便用户可以直接填写不同的用户名。 但是,所有字段被清除后, password字段将被选中。 我该如何解决这个问题? 感谢您的帮助。 这是我写的代码: Private Sub usernameinput_AfterUpdate() Dim username As String username = usernameinput.Text Dim temp As String On Error Resume Next temp = WorksheetFunction.VLookup(Me.usernameinput.Value, Range("Usernames"), 1, 0) If username = temp Then MsgBox ("The username chosen already exists. Please chose a different […]

combobox不返回selectlistindex值

我正在创build一个工作簿,每月跟踪可用租金。 它分为12张,每月一张。 每张纸的前三列都跟踪住宿types,卧室数量以及租赁价格中包含的内容。 这里的概念是将会有一个下拉combobox,允许用户使用点击选项填充,而不是input内容以减lessinput错误。 我设置了一个固定的数组,其中的内容根据活动单元格所在的列进行更改,然后将该数组分配给combobox。 该代码位于combobox代码下的Sheet1模块中,并且ThisWorkbook模块在SheetSelectionChange下调用它,以避免重复每个工作表中的代码。 标准模块使arrays公开 所有12个combobox共享相同的名称,cboOptions,并且它们填充正确,无论select哪个表。 我的问题是,没有一个combobox返回所做select的listindex值,无论代码是否告诉它这样做。 我一直在testing,看看所选位置的价值回报的位置,但我还没有能够build立一个模式。 我想清除variables和数组,认为这可能是什么混乱的代码,但它似乎没有效果。 我已经阅读了关于这个问题的一些信息,但是我对什么可能是问题没有意见……提前感谢! Sheet1模块中的代码: Private Sub cboOptions_Change() Erase myarray() cboOptions.Visible = True cboOptions.Enabled = True cboOptions.Clear n = ActiveCell.Row If n >= 3 And n < 10000 Then If ActiveSheet.Range(ActiveCell.Address).Address = Range("A" & n).Address Then myarray(1) = "Apartment" myarray(2) = "Room" myarray(3) = "Townhouse" myarray(4) = […]