【问题标题】:How to add Selected Value (one at a time) from Listbox to specific excel column如何将列表框中的选定值(一次一个)添加到特定的 excel 列
【发布时间】:2017-08-07 08:32:31
【问题描述】:

我正在使用一个包含文件夹名称的列表框。我需要从列表框中选择名称(一次一个,以保持选择顺序)并将其添加到 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
           intRecord = intRecord + 1
        End Sub

【问题讨论】:

  • 您是否面临上述代码中的任何异常或错误
  • 我实际上无法导航到两种方法中的下一个空白单元格。

标签: excel vb.net vba listbox listboxitem


【解决方案1】:

试试这个可能对你有帮助

 Sub ListBox7_Change()
     Dim i As Long
        With ActiveSheet.ListBoxes("List Box 7")
            For i = 1 To .ListCount
                If .Selected(i) Then
                     Range("A" & Rows.count).End(xlUp).offset(1).Value = .List(i)
                End If
            Next i
        End With

       End Sub

【讨论】:

  • @JuhiDubey 这是我的荣幸
【解决方案2】:

首先,您从 excel 工作表中获取最后使用的行,最后增加最后一行并将下一列值插入到 excel。

Dim last as Excel.Range = xlWorkSheet.Cells.SpecialCells 
(Excel.XlCellType.xlcellTypeLastCell,Type.Missing)
dim lastUsedRow As Integer = last.Row
lastUsedRow += 1
xlWorksheet.RangeA("A"+ lastUserRow).value = ListBox1.Value

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多