2014-02-15 38 views
0

我想在textbox中將數字從短到長拆分。 當我把這樣的號碼236.23.6329.5textbox1,號碼轉換爲這個23623006329005
e.g將excel vba中的短數字分割成長數

 
236.23.6329.5 to 23623006329005 
369.2.326.6  to 36902000369006 
123.23.365236.0 to 12323365236000 
256.36.36598.4 to 25636036598004 

我用這個代碼/編碼通過 「عبداللهبقشير」 Officena.net

Dim sp 
Dim iNum As String 
Dim i As Integer 
For Each sp In Split(Me.Textbox1, ".") 
    i = i + 1 
    iNum = iNum & Format(sp, IIf(i = 3, "0000", "000")) 
    Next 
Me.Textbox1= iNum 

但362.36.236將此轉換爲3620360236如果該號碼包含兩個 「」

+0

當你添加你的代碼時,它違背了你的要求。那麼你的最終需求是什麼? 3.3.4.3或3.2.6.3? – L42

回答

0

試試這個:

Dim mylen, mynum, x, mylong 
Dim i As Integer 

mylen = Array(3,2,6,3) 
mynum = Split(Textbox1,".") 

For i = Lbound(mynum) to Ubound(mynum) 
    x = mynum(i) 
    Do While Len(x) < mylen(i) 
     x = "0" & x 
    Loop 
    mylong = mylong & x 
Next 

我宣佈大部分的變量變異。
您可以通過將其直接聲明爲具有相應數據類型的數組來改進它。
希望這會有所幫助。

+0

我有此代碼 昏暗SP 昏暗INUM作爲字符串 昏暗我作爲整數 對於每個SP解散(Me.Textbox1, 「」) I = I + 1 INUM = INUM與格式(SP,I如果(i = 3,「000」,「000」)) Next Me.Textbox1 = iNum 但將數字從632.2.36轉換爲632002036如果輸入文本包含兩個「。」在文本 我想數量從 236.23.6329.5轉換爲23623006329005 369.2.326.6至36902000369006 123.23.365236.0到12323365236000 256.36.36598.4到25636036598004 數包含三「」 – klma7lwa

+0

嗯,它總是最後一個點'''丟失? – L42

+0

謝謝你的幫助,但你能再次看到我的問題 – klma7lwa