ListBox内の並び替えで実行エラー
OSはXP、
Excelは2003を使用しています。
ユーザーフォーム内のListBox内で、コマンドボタンをクリックして行を上や下に並び替えたく、
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1041407835
を参考にして、下記の通りに組んだのですが、
下に並び替えるCommandButton2を実行時や、
上に並び替えるCommandButton1を「2回目」に実行時に
「実行時エラー -2147417848(80010108)
オートメーションエラーです。
起動されたオブジェクトはクライアントから切断されました。」
となってしまいます。
Private Sub CommandButton1_Click()
Dim i As Variant
Dim j As Integer
Dim k As Integer
Dim myBuf1 As Variant
Dim myBuf2 As Variant
' 選択されている項目を1つ上げる。
i = Me.ListBox1.ListIndex
If i > 0 Then
For j = 1 To 7
myBuf1 = Me.ListBox1.List(i - 1, j)
Me.ListBox1.List(i - 1, j) = Me.ListBox1.List(i, j)
Me.ListBox1.List(i, j) = myBuf1
Me.ListBox1.Selected(i - 1) = True
For k = 0 To 6
myBuf2 = Me.ListBox2.List(i - 1, k)
Me.ListBox2.List(i - 1, k) = Me.ListBox2.List(i, k)
Me.ListBox2.List(i, k) = myBuf2
Me.ListBox2.Selected(i - 1) = True
Next k
Next j
End If
End Sub
Private Sub CommandButton2_Click()
Dim i As Variant
Dim j As Integer
Dim k As Integer
Dim myBuf1 As Variant
Dim myBuf2 As Variant
' 選択されている項目を1つ下げる。
i = Me.ListBox1.ListIndex
If i < Me.ListBox1.ListCount - 1 Then
For j = 1 To 7
myBuf1 = Me.ListBox1.List(i + 1, j)
Me.ListBox1.List(i + 1, j) = Me.ListBox1.List(i, j)
Me.ListBox1.List(i, j) = myBuf1
Me.ListBox1.Selected(i + 1) = True
For k = 0 To 6
myBuf2 = Me.ListBox2.List(i + 1, k)
Me.ListBox2.List(i + 1, k) = Me.ListBox2.List(i, k)
Me.ListBox2.List(i, k) = myBuf2
Me.ListBox2.Selected(i + 1) = True
Next k
Next j
End If
End Sub
説明不足や上記の記述にとんちんかんな間違いがありましたら、ごめんなさい。
どなたか解決方法を教えて頂けますようお願い致します。