MS Excel - 从CSV函数生成的逗号分隔列表中删除零

时间:2014-02-20 17:22:35

标签: excel vba

我需要一些棘手的功能帮助我用来从MS Excel中的表生成列分隔列表。

我的数据如下:

Column A       B         C        D        E
John           Bill      0        0        0
               Steve     0        0        0 
                         0        0        0
                         0        0        0 

我创建了一个VBA函数,它将生成以下列表(每个列表在一个单元格中):

John, 
Bill, Steve, 
0,0,0,0,0
0,0,0,0,0

我被困了,因为我不知道如何编辑我的函数,因此它不会包含带有零的列。

我的功能如下:

Function csvRange(myRange As Range)
    Dim csvRangeOutput
    For Each Entry In myRange

        If Not Entry.Value = "" Then

            csvRangeOutput = csvRangeOutput & Entry.Value & ", "

        End If

    Next
    csvRange = Left(csvRangeOutput, Len(csvRangeOutput) - 1)


End Function

非常感谢任何帮助!

P.S。我已经尝试更改“If Not Entry.Value =”“ - - 如果Not Entry.Value = 0 OR Entry.Value =”“ - 不幸的是,它不起作用!

谢谢,

奥利

2 个答案:

答案 0 :(得分:0)

试试这个:

If Not Entry.Value = "" Then
    If Not Entry.Value = 0 Then
        csvRangeOutput = csvRangeOutput & Entry.Value & ", "
    end If
End If

答案 1 :(得分:0)

试试这个:

Function csvRange(myRange As Range)
    Dim csvRangeOutput
    For Each Entry In myRange

        If (Not Entry.Value = "") and (Not Entry.Value = "0") Then

            csvRangeOutput = csvRangeOutput & Entry.Value & ", "

        End If

    Next
    csvRange = Left(csvRangeOutput, Len(csvRangeOutput) - 1)


End Function

单元格可能是字符串格式