2012-11-25 179 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

相關問題