Board logo

標題: [發問] 請教各位 如何split後將(文字)轉換為(數字) [打印本頁]

作者: cmo140497    時間: 2013-1-16 14:09     標題: 請教各位 如何split後將(文字)轉換為(數字)

Dear 各位大大及版主您好 :
小弟有一函數轉換問題,請問在split(string," ")(0)後,如何將實為"000"轉換為數字"0"或"001"轉換為數字"1"呢?感恩!
  1. Sub 巨集2()
  2.     Dim MyTEXT As String, ar, j As Integer
  3.    
  4.     MyTEXT = "AAA:000 001 002 003"
  5.     j = 1
  6.     If MyTEXT Like AAA & "*" Then
  7.             Cells(1, j).Value = Split(MyTEXT, ":")(0)
  8.             ar = Split(Split(MyTEXT, ":")(1), " ")
  9.             Cells(1, j + 1).Resize(, UBound(ar) + 1) = ar
  10.             'Result : Cells(1,1)=AAA , Cells(1,2)=000 , Cells(1,3)=001 , Cells(1,4)=002, Cells(1,5)=003
  11.             '如何將000 001 002 003 轉換為數字Cells(1,2)=0 , Cells(1,3)=1 , Cells(1,4)=2, Cells(1,5)=3
  12.     End If
  13. End Sub
複製代碼
[attach]13965[/attach]
作者: stillfish00    時間: 2013-1-16 14:19

回復 1# cmo140497
CInt(expression)  函數可轉為整數資料 , expression 引數範圍須在 -32,768 至 32,767
作者: cmo140497    時間: 2013-1-16 14:32

回復 2# stillfish00


    不好意思,請教要加在哪?會比較適當,一直出現alarm message:型態不符,謝謝您不吝指教,感恩!
作者: stillfish00    時間: 2013-1-16 14:41

回復 3# cmo140497
ar = Split(Split(MyTEXT, ":")(1), " ")
'插入底下迴圈
For i = LBound(ar) To UBound(ar)
    ar(i) = CInt(ar(i))
Next

作者: Hsieh    時間: 2013-1-16 14:42

本帖最後由 Hsieh 於 2013-1-16 17:38 編輯

回復 1# cmo140497


  對於陣列元素的資料修改必須一一修改
無法利用資料型態轉換函數一次性的轉換
            ar = Split(Split(MyTEXT, ":")(1), " ")
            For i = 0 To UBound(ar)
               Cells(1, j + 1 + i) = CItn(ar(i))
            Next
作者: cmo140497    時間: 2013-1-16 14:47

回復 4# stillfish00


    實在感謝您的不吝指教,小弟把Cint直接冠在ar前,才會出錯,太感謝您了,感恩!
作者: GBKEE    時間: 2013-1-17 16:14

回復 1# cmo140497
  1. Sub 巨集2()
  2.     Dim MyTEXT As String, ar, j As Integer   
  3.     MyTEXT = "AAA:000 001 002 003"
  4.     j = 1
  5.     If MyTEXT Like AAA & "*" Then
  6.             Cells(1, j).Value = Split(MyTEXT, ":")(0)
  7.             ar = Split(Split(MyTEXT, ":")(1), " ")
  8.             With Cells(1, j + 1).Resize(, UBound(ar) + 1)
  9.                 .Value = ar
  10.                 .Value = .Value       '範圍的值=範圍的值
  11.             End With
  12.             'Result : Cells(1,1)=AAA , Cells(1,2)=000 , Cells(1,3)=001 , Cells(1,4)=002, Cells(1,5)=003
  13.             '如何將000 001 002 003 轉換為數字Cells(1,2)=0 , Cells(1,3)=1 , Cells(1,4)=2, Cells(1,5)=3
  14.     End If
  15. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)