2010-01-22 204 views
1

我將文本行分割成數組,然後嘗試將其放入不含空值的新數組中。出於某種原因,它不是從舊陣列複製到新陣列。順便說一句,如果有人有一個更有效的方式做到這一點,我也接受。刪除陣列中的空值並複製到新陣列

Dim x As Variant, i As Integer, m As String, rdate As String, k(0 To 50) As Variant, j As Integer 
rdate = ThisWorkbook.Sheets("sheet1").Range("a58").Value 
j = 0 
x = Split(rdate, " ") 

For i = 0 To UBound(x) 
    If x(i) <> "" Then 
     k(j) = x(i) 
     j = j + 1 
     m = m & j & k(j) & vbCrLf 
    End If 
Next 
MsgBox m 
+1

正如順便說一句,你的腳本將如果你運行一個頭發快: *如果LENB(X(I))然後* 參見:http://www.aivosto.com/vbtips/stringopt.html #empty – Oorang 2010-01-24 06:45:30

回答

1

你的腳本添加k(j)後遞增j ...您的msgbox顯示爲空。

+0

堅果!工作感謝 – Anthony 2010-01-22 23:05:58

+0

是的,我必須執行它,其實...... :) – helios 2010-01-22 23:08:18