[VBA ] 請幫我看一下排序的code出了甚麼問題~
因為我才剛開始學寫VBA,所以很多東西都不是很懂
所以這些code都是我從網路找再自己改的,
我是想做排序 先寫一個可以產生50個一直列亂數的code
然後用氣泡排序法做排序
可是我要執行的時候一直跑出陣列索引超出範圍
請大家幫我看一下下面的式子到底哪裡出了問題
Option Explicit
Dim i As Integer
Dim a() As Integer
Sub MakeArr()
For i = 1 To 50
a(i) = Int(Rnd * 49 + 1)
Next i
End Sub
Sub BubblingSort()
Dim j As Integer
Dim TEMP As Integer
For i = 1 To 49
For j = i + 1 To 50
If a(i) > a(j) Then
TEMP = a(j)
a(j) = a(i)
a(i) = TEMP
End If
Next j
Next i
End Sub
-->出問題的是a(i) = Int(Rnd * 49 + 1) 跟If a(i) > a(j) Then這兩行
請問我要怎麼改才不會說我超出範圍呢? 先謝謝大家幫忙~
PS: 如果我只是要有一直列的亂數排序
我自己打數字 然後再用上面氣泡排序的式子
這樣可以嗎?? 還是有別的方法去排序呢?
(我知道有快速排序法 可是那個我不知道要怎麼改成我要的樣子....)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.165.219.124
→
06/20 16:32, , 1F
06/20 16:32, 1F
推
06/20 21:08, , 2F
06/20 21:08, 2F
推
06/20 21:09, , 3F
06/20 21:09, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):