首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA - scripting.dictionary排除空白

VBA - scripting.dictionary排除空白
EN

Stack Overflow用户
提问于 2017-02-15 20:20:25
回答 1查看 1.2K关注 0票数 1

是否可以使用scripting.dictionary从范围中排除空白?我使用此代码从range中查找特殊值。我不需要excel公式的范围,但解决方案在VBA (如果存在)。

使用此代码,我在列表框中总是有一个空白项。

代码语言:javascript
复制
Dim v, e

With Sheets("DATA").Range("NAMED_RANGE")
    v = .Value
End With

With CreateObject("scripting.dictionary")
    .CompareMode = 1
    For Each e In v
        If Not .Exists(e) Then .Add e, Nothing
    Next
    If .Count Then Me.TextBox121.List = Application.Transpose(.keys)

    ThisWorkbook.Worksheets("DICTIONARY").Range("B2").Resize(UBound(.keys), 1).Value = _
    Application.Transpose(.keys)
End With
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-15 21:13:42

代码语言:javascript
复制
Dim v, e

With Sheets("DATA").Range("NAMED_RANGE")
    If Application.WorksheetFunction.CountA(.Cells) > 1 Then
        v = .Value
    Else
        v = .Cells(1, 1).Value
    End If
End With

With CreateObject("scripting.dictionary")
    .CompareMode = 1
    For Each e In v
        If Not .Exists(e) And e <> vbNullString Then .Add e, Nothing
    Next
    If .Count Then Me.TextBox121.List = Application.Transpose(.Keys)

    If .Count And UBound(.Keys)>0 Then ThisWorkbook.Worksheets("DICTIONARY").Range("B2").Resize(UBound(.Keys), 1).Value = _
        Application.Transpose(.Keys)
End With
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42249259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档