2012-11-25 279 views
0

我试图在每个单元格中添加分隔符。宏验证选定的非空白单元格 - Excel VBA

但是这段代码在下面的代码中将所有的单元格加上分隔符为空或空白,我只需要在非空单元格中使用分隔符。

你能帮助我,TKS很多

Dim Range As Object, Line As Object, Cell As Object 
    Dim StrTemp, chemin As String 
    Dim Separateur As String 

    Separateur = "," 
    'WBDest.Activate 
    Set Range = Worksheets(1).Columns(i) 
    'Set Range = Worksheets(1).Columns(i).SpecialCells(xlCellTypeBlanks) ' Not work 

    Open "C:\export\" + Str(i) + ".csv" For Output As #1 
    For Each Line In Range.Rows 
     StrTemp = "" 
     For Each Cell In Line.Cells 
      StrTemp = StrTemp & CStr _ 
      (Cell.Text) & Separateur 
     Next 
     Print #1, StrTemp '= " " 
    Next 
    Close 
+0

我不清楚你想做什么 - 在每个单元格中添加一个''',然后创建一个csv文件将不会做任何事情,因为你在一个列上工作。您只需复制该列 – brettdj

回答

0

你可以尝试验证单元格的值非空白?

For Each Line In Range.Rows 
    StrTemp = "" 
    For Each Cell in Line.Cells 
     If Cell.Text <> "" then      'validate for non-blanks 
      StrTemp = StrTemp & CStr _ 
      (Cell.Text) & Separateur 
     End if 
    Next 
     Print #1, StrTemp '= " " 
Next 
+0

,代码不会被编译,只是您需要考虑的逻辑。我想知道为什么你不会使用'Range'对象来遍历列,行中的每个单元格... – bonCodigo

+0

我已经尝试过了,结果很好,但是代码会测试列的每一行,时间。 – TimeIsNear

+0

我刚刚看到你的评论。每一个细胞都经历了一个耗时的过程。让我再给你一块优化。 – bonCodigo

相关问题