vba - VBA Excel 中循环遍历特定列的已使用范围

标签 vba excel

我想获取特定列中所有单元格的值并将它们添加到列表中 这是我尝试过的

Dim rng As Range
'here ColumnName will be like "A", "B" etc...
'and SheetName will be like "Sheet001", "Sheett002" etc...
rng = ThisWorkbook.Sheets(SheetName).Columns(ColumnName).UsedRange
For Each cell In rng.Cells
If Not cell.Value = "" Then
ListBox1.AddItem (cell.Value)
End If
Next

但我无法确定如何通过名称获取列的使用范围。 我想要读取的数据将在单独的工作表中像这样

enter image description here

最佳答案

UsedRange 将引用工作表的已使用范围。使用UsedRange,您可以选择所需的列。

我对你的代码做了一些修改。见下文:

Sub SomeSub()
    Dim MySht As Worksheet
    Dim MyRng As Range

    Set MySht = ThisWorkbook.Sheets("Sheet1")
    Set MyRng = MySht.UsedRange.Columns("A")

    For Each cell In MyRng.Cells

        If Not cell = "" Then
          'If your List Box is in "Sheet1"
          Sheets("Sheet1").ListBox1.AddItem (cell)
          'If your List Box is in "UserForm1"
          UserForm1.ListBox1.AddItem (cell)
        End If
    Next

    'To clear ListBox1 data
'    Sheets("Sheet1").ListBox1.Clear
'    UserForm1.ListBox1.Clear

End Sub

关于vba - VBA Excel 中循环遍历特定列的已使用范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34587805/

相关文章:

excel - 这个 Excel 公式在做什么?

Java - 使用 jxl API 制作 Excel 工作簿 'read-only'

java - HSSFSheet POI API Java 不会用颜色填充所有列

vba - 字VBA : Insert a picture without known aspect ratio of file

VBA通过循环读取Excel中的两列

java - 如何在Java中加载和使用第三方.dll的功能

excel - 如何将函数 INDEX(MATCH... 转换为 VBA 代码

excel - Excel中的多个If条件

split 函数中的 VBA 类型不匹配

excel - 当您可以只使用 "=+"时,为什么要在 Excel 单元格中使用 "="?