Tag: listboxitem

无法设置行来源属性。 无效的属性值

我有一个excel,我已经在列“A”中填充了less量数据,我希望数据出现在我的用户表单中的列表框中。 但是我反复得到运行时错误380声明“无法设置行来源属性。无效的属性值”下面是代码。 Private Sub ComboBox1_Change() Dim wb123 As Workbook, TempFile As Workbook Dim Tempsheet As Worksheet Dim Last_Row As Integer Set wb123 = ThisWorkbook Set TempFile = Workbooks.Open("C:\Users\inkapb\AppData\Local\Temp\EPC AutoTool\Projects\" & Me.ComboBox1.Text & "\Template.xlsm") Set Tempsheet = TempFile.Worksheets("Sheet2") Last_Row = Tempsheet.Cells(Tempsheet.Rows.count, "A").End(xlUp).Row With ListBox1 .ColumnCount = 1 .ColumnWidths = "50" .RowSource = Tempsheet.Range("A2:A" & Last_Row).Address End […]

用户窗体列表框项目作为string,其中每个项目引用活动工作表上的列范围

背景:我有一个从A:AN列的Excel文件。 工作表用于跟踪多个零件的状态。 每部分1行,每列指的是被跟踪部分的不同元素。 (供应商,重量等) 在工作表中,我有一个macros来生成一个报告,它select一个预定义的列的范围,将它们复制到一个新的工作簿,并给它一个时间戳加上一点格式,使之成为我想要的报告格式。 这工作魅力,没有问题。 我的问题是 ,现在我希望用户能够select他们想要包含在报告中的列。 我用两个列表框创build了一个用户表单。 ListBox1有每列的标题,我已经设置了控制button,以允许单个或多个项目select,并将其移动到ListBox2。 我喜欢它,当单击命令button时,ListBox2中显示的每个项目将代表一个列,他们将被合并到一个范围,然后可以用于我的原始代码来创build报告。 我已经在这一个完整的空白。 一切都在实际使用ListBox2中的项目,以一种有用的方式来生成一个范围,可以在我的代码中使用后面的行。 任何想法,我应该如何进行? 任何帮助将非常感激。 我到目前为止所尝试的是:1)添加引用每个AddItem命令下面的范围的ItemData – 这导致编译错误编译错误 2)将每个列标题声明为一个范围,我尝试将范围作为一个AddItem添加到列表框中,但我得到了一个运行时错误。 运行时错误 正如我所说,其余用户表单的代码正在做我想要的,但我不知道如何克服或设置下一步。 我已经包含了我所有的代码供您参考。 除列表框之外,还有更简单的方法吗? Private Sub cmdMoveAllLeft_Click() 'Variable Declaration Dim iCnt As Integer 'Move Items from ListBox1 to ListBox2 For iCnt = 0 To Me.ListBox2.ListCount – 1 Me.ListBox1.AddItem Me.ListBox2.List(iCnt) 'Me.ListBox1.ItemData(.NewIndex) = Me.ListBox2.ItemData(iCnt) Next iCnt 'Clear ListBox1 […]

如何从列表框中将所选值(一次一个)添加到特定的Excel列

我正在使用包含文件夹名称的列表框。 我需要从列表框中select一个名字(一次一个,保持select的顺序)并将其添加到excel列A1,这样每次添加到列A的下一个空单元格。我对vb并需要帮助。 以下是我尝试的方法。 方法1) Sub AddRecord_Click() With Sheet1.ListBox1 For intIndex = 0 To .ListCount – 1 With ActiveSheet LastRow = .Cells(.Rows.Count, "F").End(xlUp).Row End With If .Selected(intIndex) Then Sheet1.Cells(LastRow, "A") = Sheet1.ListBox1.Value NextRow = LastRow + 1 End If Next End With End Sub 方法2) Sub AddRecord_Click() intRecord = (CInt(Range("A1").End(xlDown).Row) + 1) Sheet1.Cells(intRecord, "A") = Sheet1.ListBox1.Value […]

Excel VBA – 如何从variables范围填充列表框的值?

我在名为“电子邮件”的工作表中的列A中有一个名称列表 我想填充名为列A的用户窗体ListBox。但是,我不能指定一个固定的范围,因为这个列表会增长和缩小。 那么如何让用户窗体使用正确数量的项目来填充列表呢? 这是我目前正在尝试,但没有工作(我敢肯定这将是明显的一些人在这里为什么不),我也看到了另一个例子,使用一个简单的For循环,但我无法再次find例子给你看。 Private Sub UserForm_Initialize() Dim rngName As Range Dim rng1 As Range Dim rng2 As Range Dim ws As Worksheet Set ws = Worksheets("Email") Set rngName = ws.Range("A:A").Find(What:="*", LookAt:=xlWhole, MatchCase:=False, SearchOrder:=xlByRows, SearchDirection:=xlPrevious) Set rng1 = ws.Range("A1") On Error GoTo ErrorHandle Me.lbUsed.List = Range(rng1 & ":" & rngName).Value ErrorHandle: End Sub 编辑: 我现在有下面的代码,但是当我加载用户表单时失败了: […]