2014-02-20 42 views
0

我需要一些棘手的功能帮助,我使用它来从MS Excel中的表格生成列分隔列表。MS Excel - 从CSV函数生成的逗号分隔列表中删除零

我的数据如下:

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.我已经尝试过改变线路“如果不是Entry.Value =‘’ - 到 - 如果不是Entry.Value = 0或Entry.Value =‘’ - 不幸的是,这是行不通的!

感谢,

奥利

回答

0

试试这个:

If Not Entry.Value = "" Then 
    If Not Entry.Value = 0 Then 
     csvRangeOutput = csvRangeOutput & Entry.Value & ", " 
    end If 
End If 
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 

细胞可能是字符串格式

+1

改变了说法。很肯定他坐字符串格式的单元格。 – Pedrumj

相关问题