【Excel VBA】バブルソートのループ処理イメージの骨格

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

バブルソートのアルゴリズムについて、骨格となるループ処理部分をVBAで表現した処理イメージです。

バブルソートのループ処理イメージ

Sub バブルソートのループ処理イメージ()
    Dim i As Integer, j As Integer, N As Integer
    
    N = 10 '配列数
    
    For i = 1 To N - 1 Step 1
        For j = N To i + 1 Step -1
            Debug.Print "i=" & i & " i+1=" & i + 1 & " j=" & j & " j-1=" & j - 1
        Next j
    Next i

End Sub

実行結果

i=1 i+1=2 j=10 j-1=9
i=1 i+1=2 j=9 j-1=8
i=1 i+1=2 j=8 j-1=7
i=1 i+1=2 j=7 j-1=6
i=1 i+1=2 j=6 j-1=5
i=1 i+1=2 j=5 j-1=4
i=1 i+1=2 j=4 j-1=3
i=1 i+1=2 j=3 j-1=2
i=1 i+1=2 j=2 j-1=1
i=2 i+1=3 j=10 j-1=9
i=2 i+1=3 j=9 j-1=8
i=2 i+1=3 j=8 j-1=7
i=2 i+1=3 j=7 j-1=6
i=2 i+1=3 j=6 j-1=5
i=2 i+1=3 j=5 j-1=4
i=2 i+1=3 j=4 j-1=3
i=2 i+1=3 j=3 j-1=2
i=3 i+1=4 j=10 j-1=9
i=3 i+1=4 j=9 j-1=8
i=3 i+1=4 j=8 j-1=7
i=3 i+1=4 j=7 j-1=6
i=3 i+1=4 j=6 j-1=5
i=3 i+1=4 j=5 j-1=4
i=3 i+1=4 j=4 j-1=3
i=4 i+1=5 j=10 j-1=9
i=4 i+1=5 j=9 j-1=8
i=4 i+1=5 j=8 j-1=7
i=4 i+1=5 j=7 j-1=6
i=4 i+1=5 j=6 j-1=5
i=4 i+1=5 j=5 j-1=4
i=5 i+1=6 j=10 j-1=9
i=5 i+1=6 j=9 j-1=8
i=5 i+1=6 j=8 j-1=7
i=5 i+1=6 j=7 j-1=6
i=5 i+1=6 j=6 j-1=5
i=6 i+1=7 j=10 j-1=9
i=6 i+1=7 j=9 j-1=8
i=6 i+1=7 j=8 j-1=7
i=6 i+1=7 j=7 j-1=6
i=7 i+1=8 j=10 j-1=9
i=7 i+1=8 j=9 j-1=8
i=7 i+1=8 j=8 j-1=7
i=8 i+1=9 j=10 j-1=9
i=8 i+1=9 j=9 j-1=8
i=9 i+1=10 j=10 j-1=9

処理のポイント

変数 i と j のトレース結果より、バブルソートでは配列の要素を比較しながら端から順に最小値(または最大値)を確定させていく様子が確認できます。

また、大小比較においては「ある起点」と「起点から隣り合う値」を比較していく仕組みを把握することができます。

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年10月2日

  • 変更引用タグや不自然なプレーンテキストとなっていたコードブロックと実行結果を、正しく視認できるHTML構造へ修正しました。
  • 追加バブルソートのループ処理がどのように動作するかを理解しやすくするための解説文を追加しました。

文書情報

記事タイトル
【Excel VBA】バブルソートのループ処理イメージの骨格
作成日
更新日
Source URL
https://papanda925.com/?p=626

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました