Tag: listbox

显示错误项目的列表框(VBA)

我得到了一个有许多行的列表框,还有一个命令button,用来在单独的窗口(popup窗口)中显示该行的一些列。 问题是它从中获取信息的行(即被视为选中的行)不是当前标记的行,而是之前标记的行。 所以,如果我select第5行并单击命令button,它将显示一个空白popup窗口(没有选中的行)。 如果我然后select第10行并单击命令button,它将显示第5行的信息,依此类推。 这是一个已知的问题,还是我完全错了? Private Sub cmdDetails_Click() 'If the ListIndex is -1, no selection is made If lstItems.ListIndex = -1 Then MsgBox "No row selected", vbInformation, "No row selected" 'If a selection is made, open the details form and fill in the details Else frmDetails.Show ' <– Move this to the end of the […]

工作簿打开时自动加载vba

我有代码 Private sub Workbook_open() ListBox1.AddItem "2017" ListBox1.AddItem "2018" ListBox1.AddItem "2019" ListBox1.AddItem "2020" ListBox1.AddItem "2021" ListBox1.AddItem "2022" ListBox1.AddItem "2023" ListBox1.AddItem "2024" ListBox4.AddItem "0%" ListBox4.AddItem "10%" ListBox4.AddItem "20%" ListBox4.AddItem "30%" ListBox4.AddItem "40%" ListBox4.AddItem "50%" ListBox4.AddItem "60%" End Sub 但是,当我打开工作簿列表框不会自动填充。 有没有一种方法来自动加载列表框项目,而无需命令button?

Excel 2010 VBA将多列Listbox转换为命名范围

我有一个我想用来复制项目从一个多列列表框到一个电子表格命名区域的子。 我有麻烦的部分被评为“转移到表”(下面)。 它不会复制到我命名的范围(“Import_Items”或“Export_Items”,它根据哪个表被用作源来引用某些表),而是复制到从C列开始的第1行。我觉得我是可能失去一些非常简单的东西,任何帮助将不胜感激。 Sub Transfer() Dim CopyToWB As Workbook Dim ASName As String Dim lItem As Long, lRows As Long, lCols As Long Dim lColLoop As Long, lTransferRow As Long Set CopyToWB = Workbooks.Open(FPath & "\" & FName) ASName = ActiveSheet.Name lRows = ItemsLB.ListCount – 1 lCols = ItemsLB.ColumnCount – 1 With CopyToWB.Sheets(ASName) Range(ASName & […]

通过在VBA用户窗体中双击,将列表框中的条目添加到最近的文本框中

我试图find一种方法让用户双击列表框中的一个条目,并将其粘贴到他们最近关注的文本框中。 所以,像列表框一样 With ListBox1 .AddItem "<PARENT> Customer's PARENT Company " .AddItem "<SALESEXEC> The sales executive responsible for the account" .AddItem "<FIRSTNAME> Customer's First Name" End With 我希望能够将这些值过滤到一个文本框中,但是因为表单有多个文本框,所以我希望它是最后一个重点。 我正在考虑做下面的事情。 问题是我似乎无法得到GotFocus事件做任何事情。 它可以和Enter事件一起工作,但是只能使用一次。 Public hasFoc As String Private Sub TextBox4_GotFocus() Debug.Print ("TextBox4 Clicked") hasFoc = "TextBox4" End Sub Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'Get index of clicked […]

将列表框添加到从垂直到水平的工作表中并将所有结果加载到列表框中

在成功地将我的数据加载到一个列表框之后,我被告知数据应该被水平定向而不是垂直定向。 怎样才能实现新的规格? 这是所需的结果: Private Sub CommandButton3_Click() Dim i As Integer Dim k As Integer With Me.lsbWarenausgang For k = 0 To .ListCount – 1 If .Selected(k) = True Then For i = 1 To 9 Worksheets("Tabelle5").Cells(i, 1) = Me.lsbWarenausgang.List(k, i – 1) Next i End If Next k End With End Sub

将select属性添加到ListboxVBA

我试图从工作表中填充一个列表框,并且想要预先确定哪些列表项已经有一个checkbox。 我已经find了方法来确定列表框中的哪些项目被检查,但没有其他的方式。 我有代码来运行我的列表,并插入我的范围内的每个项目,但无法find一种方法来分配选定的属性。 我的工作表将有每个项目添加1和0是否被选中。 工作表; Item Include? TaskA 1 TaskB 0 TaskC 1 我想在1的所有内容旁边都有一个选定的标记,而不是包含0的所有内容。 这是我目前的尝试,我尝试一个循环(我),它在插入的字段旁边的表中查找: For Each RngTask In ws.Range(Cells(2, 2), Cells(Count, 2)) FRM_StorageOptions.StorageList.AddItem RngTask.Value If ws.Cells(i, 2) = 1 Then FRM_StorageOptions.StorageList.Selected(i – 1) = True Else FRM_StorageOptions.StorageList.Selected(i – 1) = False End If i = i + 1 Next RngTask 然而,它不会允许我分配此属性,并返回“无法设置选定的属性。无效的属性值”。 添加到列表工作正常,没有我尝试添加选定的值。 任何帮助表示赞赏。

VBA ActiveX控件在共享后更改大小

我有一个简单的Excel格式的ActiveX控件(ListBox) 当我通过电子邮件分享时,收件人执行以下步骤:1.打开Excel 2.启用macros的内容 现在 – 列表框的大小增加。 我无法dynamicresize或找出“启用内容”的确切事件。 无论如何,我可以保留列表框的大小?

Excel中的VBA UserForm – 电子表格数据条目中的行不匹配

我有一个通过VBA创build的应用程序表单应该填充Excel工作表上的行。 它确实,但他们是一个: Name | Race | Agency Black Joe Asian B White Joanne C 乔的比赛是黑人和亚洲人,在B组; 乔安妮是白色的,而她在C级。不知何故,参赛作品是错开的。 名称是一个文本框,种族和机构是列表框,作为一个多选和机构作为一个单一的select比赛。 这是我的代码: Private Sub CommandButton1_Click() Dim j As Long Dim i As Integer With ListBox2 ReDim arr(.ListCount – 1) For i = 0 To .ListCount – 1 If .Selected(i) = True Then .Selected(i) = False arr(j) = .List(i) j […]

消除listbox rowsource中的空白单元格

我正在尝试制作一个消除行上空白单元格的列表框。 在列A我有一些包含数据和一些是空白的单元格。 我无法删除空行,因为在其他列中包含数据。 我怎样才能在listbox的非空白单元格的行rowsource ?

用于将列表框的输出更改为另一个工作表的VBA代码

我有一个列表框,用户可以select任意数量的9个项目(可以select1个或多个)。 任何选中的项目都会导致“TRUE”输出,否则默认为“FALSE”。 有什么办法可以将输出设置为不同的工作表? 这里是当前的代码,它被设置为从单元格BA1开始向下输出: Private Sub ListBox1_Change() With ListBox1 Dim i As Byte For i = 0 To .ListCount – 1 Cells(i + 1, "BA") = .Selected(i) Next i End With End Sub