|
以下のような[#]の付与された行の削除を一括して行うロジックを組みましたが、数件の場合は[OK]なのですが、大量(今回は100件以上)に処理をした場合、削除実行(Selection.Delete Shift:=xlUp)にてエラー[1004]が返され処理化中断してしまいます。
少量を数回に分けて実行すると都度対象行番号を検索しなくてはならず、処理負荷が大きいのです。
下記とは別の方法がありましたら、アドバイス願います。
宜しくお願い致します。
Private Sub CommandButton2_Click()
Dim strDelRowNo(200) As String
Dim strDelRow As String
Dim intLastRow As Integer
Dim intI01 As Integer
Dim intJ01 As Integer
Dim intK01 As Integer
Dim intL01 As Integer
Application.ExecuteExcel4Macro "echo(False)"
intLastRow = Range("$B$65536").End(xlUp).Row
intJ01 = 0
For intI01 = 4 To intLastRow
If Cells(intI01, 1) = "#" Then
intJ01 = intJ01 + 1
strDelRowNo(intJ01) = intI01
End If
Next
If strDelRowNo(1) = "" Then
GoTo EndStep
End If
strDelRow = strDelRowNo(1) & ":" & strDelRowNo(1)
For intK01 = 2 To 200
If strDelRowNo(intK01) <> "" Then
strDelRow = strDelRow & "," & strDelRowNo(intK01) _
& ":" & strDelRowNo(intK01)
Else
Exit For
End If
Next
'************
'** 削除 **
'************
Range(strDelRow).Select
Selection.Delete Shift:=xlUp
If Err Then
MsgBox "エラー番号 = " & Err.Number
End If
〜〜〜〜〜 以降は省略 〜〜〜〜〜
|
|