VBAでソート(昇順)のコードを一から作りたいです。

実現したいこと

VBAでソートを一から作りたいと思っています。excelのシートに入力した値を表示させ、そしてソートさせたいです。

前提

シートに数値を表示してそして値を置き換えたのですがうまくいきません。
Forからは一回目の並び替えを考えて作りました。
VBAを始めたばかりで変数とかの使い方が詳しくありません。
できるだけ詳しく説明していただけると嬉しいです。

発生している問題・エラーメッセージ

インデックスが有効ではありません

該当のソースコード

Private Sub CommandButton1_Click() Dim point As Integer Dim x As Integer Dim y As Integer Dim F() As String Dim c As Integer x = 1 Do Until point = 999 point = InputBox("数字を入力してください999と入力すると終了します") If x = 1 And point = 999 Then MsgBox ("無効です") Else If Not point = 999 Then Cells(x, 1) = point y = Cells(x, 1) x = x + 1 F(y) = F(y + 1) End If End If Loop For x = 1 To x + 1 If F(y) > F(y + 1) Then c = F(y) F(y) = F(y + 1) F(y + 1) = F(y) End If Next End Sub

試したこと

セルに置いた数字を上下に移動させたいのでyで置いて動かせるように考えていました。
何卒よろしくお願いします。

コメントを投稿

0 コメント