質問です。初心者ですが基本といわれるバブルソートが出来ません。

Dim airData(8)
work = 0
j = 0

For idx = 0 to airData.GetLength(0) - 1
if airData(j) > airData(j+1)
  work = airData(j)
airData(j) = airData(j+1)
airData(j+1) = work
end if
next

上記のように打ち込んだら一番最初の2つの配列だけソートされた
だけで出力されました。簡単すぎるのか丁寧に解説してくれているサイトも見つからないので
どなたかコメント付きで分かりやすいコードを書いてくれないでしょうか。
お願いします。