Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
Re:切り取った行の跡を詰めたい kkkkさんへ
投稿日時: 18/09/12 19:32:50
投稿者: Suzu

【切り取った行の跡を詰めたい】
http://www.moug.net/faq/viewtopic.php?t=77472
 
 
Cut の部分は、EntireRow を使った方が安全です。
 
また、特定列の空白の部分の選択は、SpecialCells を使えば選択できます。
そのセルに対しEntireRow を使えば、行全体が選択できるのでそこでDELETEしてしまえば良いです。
Unionを使うよりはセルに対して走査しなくて済むので速くなるはずです。
 
あとは、FILTERを使えるなら、一気に「発送済み」の行のみを 表示対象をできるので
そこでCUTしてしまえば、これも走査する部分が無くなるので、速くなるはずです。
(その部分はご自分で調べてみてください)
 
 

Sub Sumple()
  Dim i As Long
  Dim LastRow As Long

'  Application.ScreenUpdating = False  '画面更新Off
  With ActiveSheet
    LastRow = .Cells(.Rows.Count, 9).End(xlUp).Row
    For i = 1 To LastRow
      If .Cells(i, 9)="発送済み" The
        .Rows(i).EntireRow.Cut _
            WorkSheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).EntireRow
      End If
    Next i
    .Columns("B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
  End With
'  Application.ScreenUpdating = True  '画面更新ON
End Sub

回答
投稿日時: 18/09/13 09:40:05
投稿者: kkkk

お知らせありがとうございます!
テストしてみます。

トピックに返信