返回列表 上一主題 發帖

資料剖析(TextToColumns)對象可以不是儲存格嗎?

回復 1# chiata

陣列並不需要剖析即可直接寫入儲存格內
若你的意思是要將包含特定分隔符號的一維陣列中的陣列元素分隔後變成二維陣列寫入儲存格
那麼必須利用迴圈,將原陣列每個元素使用Split方法分割後寫入
若分割後的二維陣列,其每一列的元素個數不同,則必須一列一列的寫入
若分割後的二維陣列,其每一列的元素個數相同,則可以一次的將整個二維陣列透過2次的Application.Transpose寫入
而Split方法後的陣列元素,其資料型態則一律為String(字串)
大致上的程序結構如下
For i=Lbound(a) to Ubound(a) '原陣列迴圈
   ar=Split(a(i),",")  '逗點分割陣列元素,產生新的一維陣列
   Cells(i+1,1).Resize(,Ubound(ar)+1)=ar  '將一維陣列寫入
Next
學海無涯_不恥下問

TOP

回復 4# chiata

在2#回覆中已經說明SPLIT所得到的是字串型態的陣列
而陣列無法改變其資料型態,唯有以另一資料型態陣列儲存才可改變元素的資料型態
  1. Sub ex()
  2. Dim ar()
  3. a = "1,3,5,7,9"
  4. bb = Split(a, ",")
  5. ReDim ar(UBound(bb))
  6. For i = 0 To UBound(bb)
  7. ar(i) = CDbl(bb(i))
  8. MsgBox ar(i) & "  IS  " & TypeName(ar(i))
  9. Next
  10. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 知識要用心體會,才能變成自己的智慧。
返回列表 上一主題