Board logo

標題: [發問] VBA數字整合在一起 [打印本頁]

作者: adrian_9832    時間: 2018-3-1 21:29     標題: VBA數字整合在一起

本帖最後由 adrian_9832 於 2018-3-1 21:34 編輯

各位大大好 我想請問一下 用VBA 怎麼可以對順序的數字進行整理

比如 246517 246518 246519   變成 24651(7-9) 這樣     請各位大大拍教
作者: adrian_9832    時間: 2018-3-9 21:30

求大大幫忙.......
作者: jackyq    時間: 2018-3-9 22:19

Sub GO_______________()

MsgBox Join(數字歸類(Array(246517, 246518, 246519), 1), vbCrLf)
MsgBox Join(數字歸類(Array(246299, 246217, 246517, 246518, 246519), 2), vbCrLf)


End Sub



Public Function 數字歸類(NumAR, ByVal 位數 As Long)
' 位數 need >= 0

Set c_max = CreateObject("Scripting.Dictionary")
Set c_min = CreateObject("Scripting.Dictionary")

For Each n In NumAR
     root = n \ (10 ^ 位數)
     n = n Mod (10 ^ 位數)
     If Not c_max.exists(root) Then
            c_max(root) = n
            c_min(root) = n
     End If
     If n > c_max(root) Then c_max(root) = n
     If n < c_min(root) Then c_min(root) = n
Next


For Each root In c_max
     c_max(root) = root & "(" & c_min(root) & "-" & c_max(root) & ")"
Next

數字歸類 = c_max.items

End Function
作者: adrian_9832    時間: 2018-3-10 13:46

大大 你真的好厲害...... 謝謝你的幫助
作者: hcm19522    時間: 2018-3-11 10:42

http://blog.xuite.net/hcm19522/twblog/570210257
作者: adrian_9832    時間: 2018-3-11 13:31

樓上的大大 謝謝你的BLOG   有好多不同的函數例子




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