VBA怎麼將連續數字變成帶表示,如有一組資料 1,2,3,5,6,7,9,11,12變成1 3,5 7,9,

時間 2021-08-31 22:15:10

1樓:匿名使用者

sub t()

dim str as string, tmp, arr, res as string

str = "1,2,3,5,6,7,9,11,12"

arr = split(str, ",")

for i = 0 to ubound(arr) - 1

k = i: m = 0

doif arr(i + 1) * 1 = arr(i) * 1 + 1 then

i = i + 1: m = m + 1

if i = ubound(arr) then

res = res & "," & arr(k) & "-" & arr(i)

exit do

end if

else

if m <> 0 then

res = res & "," & arr(k) & "-" & arr(i)

else

res = res & "," & arr(k)

end if

exit do

end if

loop

next

res = mid(res, 2)

msgbox res

end sub

2樓:匿名使用者

sub 連續數字組合()

arr = array(1, 2, 3, 5, 6, 7, 9, 11, 12, 1000)

'為防止下標超出陣列尾多加一個數,該數不參加整理'實際操作中該數由程式加入,不影響原資料規則a = arr(0)

for i = 1 to 8

if arr(i) - arr(i - 1) > 1 thena = a & "," & arr(i)

elseif arr(i + 1) - arr(i) > 1 then

a = a & "-" & arr(i)

end if

next i

msgbox "整理前數字:1, 2, 3, 5, 6, 7, 9, 11, 12" & _

vbnewline & "整理後數字:" & aend sub

3樓:匿名使用者

private sub form11_load(sender as object, e as eventargs) handles mybase.load

dim count as boolean = true '判斷是否連續的變數

dim str as string = string.empty

dim r as integer = 0

dim a(10) as integer

a(0) = 1

a(1) = 2

a(2) = 3

a(3) = 5

a(4) = 6

a(5) = 7

a(6) = 9

a(7) = 11

a(8) = 12

a(9) = 13

a(10) = 15

r = a(0)

for i = 1 to a.length - 1

if a(i) - 1 = a(i - 1) then

if i = a.length - 1 then

str = str & r & "-" & a(i)

end if

count = true

else

if i = a.length - 1 then

str = str & r & "-" & a(i - 1) & ","

str = str & a(i)

else

if count then

str = str & r & "-" & a(i - 1) & ","

else

str = str & r & ","

end if

end if

r = a(i)

count = false

end if

next

msgbox(str)

me.close()

end sub

首先,我這個因為是用vb.net寫的,所以我不知道你放在vba裡面會不會有問題,但是我這邊測試過了,邏輯上沒有問題了,而且陣列裡面的數字我各種的都試過,應該沒有問題了,不過有一點,這個只能用在升序上,如果裡面出現了9,8,7,會被認為不連續的

希望能夠幫上忙...

excel將數字變成10的倍數怎麼做

這你就可以設定精確度就行了,具體在右鍵,設定單元格格式,數字裡面設定。資料在a列,b1 roundup a1 10,0 10公式下拉就行了。如何使excel資料轉換為某數字的倍數 excel求倍數問題常用在一些資料處理方面。將a2 a6單元格的資料全部增加十倍,比如a2是23,增加10倍就是230,...

c語言中怎樣將數字變成字母,c語言中怎樣將數字變成字母。

include include int main 具體什麼數字轉成什麼字元,給你碼錶你看看吧看黃圈的地方,就是輸入98 輸出的字元 b 使用sprintf函式可以將數字按指定格式轉換成字串,與printf函式用法差不多, 解決方案1 加 0 後強制型別轉換 如下程式,輸入數字,轉換成字串輸出 inc...

EXCEL數字變成 號了,怎麼回事?

原因 該單元格的格式設定出現問題,可能選擇了時間格式。結果方法 1 開啟需要修改的excel 下圖中的單元格顯示 選中該單元格。2 點選滑鼠右鍵,在彈出的選單中選擇 設定單元格格式 3 在彈出的對話方塊中,將原本設定的 時間 格式調整為 常規 或者 數值 4 以下以調整為 數值 為例,將小數位置調整...