Tag: listbox

让用户在VBA工具栏中select多个值

有没有办法在VBA添加一个列表框到工具栏(添加在function区)? 我希望能够让用户在列表框中select多个值/标准,而不是在下拉/combobox菜单中select一个值。 下面的代码只添加一个下拉菜单 Sub addSelectControls() Dim newBar As Office.CommandBar Set newBar = CommandBars.Add(Name:="testing CommandBar", temporary:=True) Dim newCombo As Office.CommandBarComboBox Set newCombo = newBar.Controls.Add(Type:=msoControlDropdown, temporary:=True) With newCombo .AddItem "Blocks" .AddItem "Hardware" .AddItem "Aircraft Hardware" .AddItem "Vehical Hardware" .AddItem "Machinery" .AddItem "Wood Products" .AddItem "Miscellaneous Products" .AddItem "Miscellaneous Metal" .AddItem "Precast Metal" .AddItem "Forged Metal" .AddItem "Structural […]

使用“属性”窗口设置列表框的controlsource值

我是VBA的新手,目前还在研究这门语言的最基本思想。 在我的VBA代码研究中,我还没有那么深入地写出手工编写的代码,所以,同时,我一直使用VBA编辑器通过属性窗口来input属性值。 这比我预想的要困难得多。 我的目标是创build一个VBA表单的下拉列表。 我明白我的select之一是通过将其input到位于ControlSource属性右侧的值字段中,在我的Excel工作表中引用一系列单元格。 我尝试input所需的范围总是出现相同的错误: 无法设置ControlSource属性。 无效的属性值。 我曾尝试在VBA帮助文件,甚至在网上search。 我没有find正确的语法进入这个领域的运气。 我假设我可能遇到类似的问题,因为我试图通过属性窗口设置其他属性值。 因此,我正在努力学习我的VBA课程,所以我可以简单地编写原始代码。 但是,这需要时间,我需要这种forms尽快工作。 有没有人不介意把我的脑子暂时放下? 我将非常感激。 做这个工作会给我带来很大的压力。 谢谢阅读!

需要select – Excel VBA列表框

我有一个Excel用户窗体,它提交数据到工作表。 我build立了数据validation,要求每个文本框input一个值,例如: Private Sub Button_Submit_Click() 'Data Validation If Me.txtCVS.Value = "" Then Me.txtCVS.SetFocus MsgBox "'CVs Screened' is a mandatory field. Enter daily figure or zero.", vbOKOnly, "Required Field" Exit Function 但是,我不知道用什么代码要求从列表框中select – 用户在input日常数字之前从列表框中select他们的名字。 有些用户似乎不记得点击他们的名字(!!!)。 在提交结果之前,有没有人可以使用一段可用的代码来进行select? 它似乎不像上面的文本框文本一样工作。

列表框上运行时错误“380”

我已经审查了10类似的错误代码报告的问题,但没有匹配我的情况..我有一个列表框,我使用.List属性填充…列表框的行为如预期,除(时间顺序):1.我过滤列出非选定的项目,并重置.List属性与过滤项目(没有问题那里)2.我试图“标记”所有项目select(我得到错误,只要我设置.Selected属性的第一个项目)。 这里是代码(我已经尝试了许多不同的变化,但这是“最干净的”): Set rngTarget = rngTarget.Range(rngTarget.Cells(2, 1), rngTarget.Cells(rngTarget.Rows.Count, lbSelection.ColumnCount)) lbSelection.Clear lbSelection.List = rngTarget.Cells.Value lItemCnt = lbSelection.ListCount – 1 For lItemNdx = 0 To lItemCnt lbSelection.Selected(lItemNdx) = True Next lItemNdx lbSelection.Selected(lItemNdx) = True发生错误。 所有索引都是有效的,数据集/范围在所有行/列都有有效数据的情况下有效,列表中只有5列(即小于10的最大值)。 我也试着先把数据集(范围)分配给一个变体,然后把这个变体分配给.List属性,但是这并没有什么区别。 在清除列表之前,我还尝试了“取消标记”所有项目。有趣的是,在debugging器中遇到错误时,.ListCount属性显示正确的行数。 但是,GUI显示一个空白列表。 任何帮助将不胜感激。 PS填充列表框“手动”使用.AddItem方法是不是我的目的(也没有使用.RowSource属性)的实际选项。 环境:Excel 2010,标准。 Windows 7专业版。 包括更全面的代码审查(数据不封闭,但由457行[第一行是标题,而不是列表框]和5列 – 所有文本)。 要复制问题,只需取消select列表中的第一个项目。 button来调用用户表单: `Sub LoadSampleForm() frmTestLB.InitControls End Sub` 用户表单代码: Option Explicit […]

Excel 2013:VBA代码来筛选来自多个列表框select的工作表数据

我已经花了3天时间寻找解决scheme,我知道我很接近,但我没有得到我的问题,为什么发生。 首先,我有一个电子表格,其中包含从B列到HG的工作人员姓名(列A,从第5行开始)和资源计划数据(项目的缩写)。 除了A列以外,每个颜色代表一天的日历(列标题是date)。 我也有一个包含3个列表框(多选)的用户表单。 LB1 =职员名称,LB2 =项目缩写,LB3现在不重要。 我在这个用户窗体上也有3个button,1个用于重置LBselect,1个用于filter到电子表格,1个用于重置电子表格上的filter。 我的代码重置LBselect和电子表格上的filter工作得很好。 应用filter的人不会按照预期的方式工作。 到目前为止,这个button的代码看起来如下(现在只是试图处理1 LB): ' Apply filter to spreadsheet Private Sub CB_FilterActive_Click() Dim arrMitarbeiter() As Variant Dim i As Integer, count As Integer count = 1 For i = 0 To ListBox1.ListCount – 1 If ListBox1.Selected(i) = True Then ReDim Preserve arrMitarbeiter(count) arrMitarbeiter(count) = ListBox1.List(i) count = […]

删除列表框中的所选项目的整个行,VBA Excel

我试图删除在我的列表框中select的项目的整个行,但问题是代码删除了第一行。 这是代码。 Private Sub Mature_Click() Dim I As Long With ListBox1 For I = .ListCount – 1 To 0 Step -1 If .Selected(I) Then .RemoveItem I Sheets("Sheet1").Rows(I + 2).EntireRow.Delete End If Next I End With End Sub

创build列表框

我正尝试使用VBA从Access创buildExcel报表。 所以每当用户点击一个Access窗体中的一个button,就应该生成一个Excel文件。 我需要在文件中有ListBox。 我宣布列表框添加项目,但有问题,分配给特定的单元格: Dim lst As ListBox With lst .AddItem "1" .AddItem "2" End With 现在我想在单元格(7,1)中显示列表框。 我该怎么做?

从excel导入到列表框

我在尝试从excel导入列到vb.net表单中的列表框时出现中断错误 问题是成功导入到列表框中的所有项目后。 出现中断错误并closures程序。 这里是中断错误 An unhandled exception of type 'System.ArgumentNullException' occurred in System.Windows.Forms.dll Additional information: Value cannot be null)) 这是我的代码 Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click Dim oExcel As Object = CreateObject("Excel.Application") Dim oBook As Object = oExcel.Workbooks.Open("C:\Users\User\Desktop\1.xlsx") Dim oSheet As Object = oBook.Worksheets(1) Dim i As Integer Dim cell As […]

列表框项目select基于其他列表框项目select

在表(Monthlist&Yearlist)上有两个(ActiveX)列表框。 每列都填入H(月)和I(年)列的唯一值(见下面的代码)。 用户将在Monthlist中select月份。 我希望“年份列表”中的可用项目反映“月份列表”中的select。 例如,如果2015年5月和2016年6月的表格中有数据,并且用户从月份列表中select“5月”,则“2015年”应仅在“年份列表”上可供select。 ('2016'应该变灰或不存在)。 显而易见的解决scheme是将filter应用于列H,该列将反映Monthlist中的select,然后将第I列中的唯一可见值收集到数组中,并将其显示在Yearlist中。 也许这个问题有更优雅的解决scheme? 谢谢你的帮助。 Sub UniqueMonthsAndYears(ByVal ws As Object) Dim LastRow, i, j, k As Long Dim c As Range Dim MyArUniqVal() As Variant Dim i2, j2, k2 As Long Dim c2 As Range Dim MyArUniqVal2() As Variant Dim MonthList As MSForms.ListBox Dim YearList As MSForms.ListBox ReDim MyArUniqVal(0) ReDim MyArUniqVal2(0) […]

VBA Excel列表框控件select事件更改视图

我的工作簿中有ActiveEx列表框控件,当用户单击列表框中的某个项目时,视图会自动更新,使列表框的顶部成为工作表中最顶端的可见行。 这种效果是不可取的,也似乎很奇怪。 我search和search,可以find没有这种行为的参考。 有人知道是什么原因造成的,或者如何避免?