'--- 入替えカウントが0になるまでループ(最後に判定)
Do
chgCnt = 0
For i = 0 To (UBound(resArray) - 1)
If resArray(i) > resArray(i + 1) Then
swapDat = resArray(i)
resArray(i) = resArray(i + 1)
resArray(i + 1) = swapDat
chgCnt = chgCnt + 1
End If
Next i
Loop Until chgCnt = 0
他のブックを参照とかして、いろいろいじった後に確認メッセージ『変更を保存しますか?』を出したくないですよね。そんな時は・・・
Set referenceBook = Workbooks.Open(myFile, ReadOnly:=True)
・
・
・
'最後に
'--- 他のブックの場合
Application.DisplayAlerts= False '--- 変更を保存しますか?を出さない
referenceBook .Close
Application.DisplayAlerts = True '--- 変更を保存しますか?を出す
'--- 自分のブックの場合
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ActiveWorkbook.ReadOnly Then ’---- 読み取り専用の時はメッセージ出さない
Application.DisplayAlerts = False
Application.Quit
Else
Application.DisplayAlerts = True ’---- 確認メッセージ出す
End If
End Sub