Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12709 / 76734 ←次へ | 前へ→

【69541】Re:別シートの項目を削除するには?
発言  kanabun  - 11/7/30(土) 9:37 -

引用なし
パスワード
   ▼gin さん:
こんにちは〜

>しかし、何度もシートを開いてマクロを実行する為
>目まぐるしいですし時間もかかります。
については、すでにアドバイスのあるように Selectしない!方針で。


あと、
行削除は重い処理なので、できれば、一括して、削除でなく、
該当行をクリアすることで対応したい。
ということで、作業列を使って削除行を表の下方に集め、一括クリアする
方法をご紹介します。

Option Explicit

Sub Try1()
  'Sheet1.A列削除リスト アドレス
  Dim Address As String
  With Worksheets(1)
    Address = .Range("A1", .Cells(.Rows.Count, 1).End(xlUp)) _
      .Address(1, 1, xlR1C1, True)
  End With
  
 
  'Sheet2.B列に数式書き込み
  With Worksheets(2).Range("A1").CurrentRegion.Resize(, 2)
    .Columns(2).FormulaR1C1 _
      = "=IF(ISERROR(MATCH(RC[-1]," & Address & ",0)),False,1)"
    'B列でソート
    .Sort Key1:=.Columns(2), Header:=xlNo
    '不要行をクリア (最低1行は該当行があるものと仮定)
    .Columns(2).SpecialCells(xlCellTypeFormulas, xlLogical) _
      .EntireRow.Clear
    'B列をクリア
    .Columns(2).Clear
  End With
  
End Sub

5 hits

【69526】別シートの項目を削除するには? gin 11/7/28(木) 13:11 質問
【69527】Re:別シートの項目を削除するには? Yuki 11/7/28(木) 15:34 発言
【69531】Re:別シートの項目を削除するには? gin 11/7/28(木) 21:41 質問
【69540】Re:別シートの項目を削除するには? Yuki 11/7/29(金) 18:27 発言
【69532】Re:別シートの項目を削除するには? yuto 11/7/28(木) 22:21 発言
【69534】Re:別シートの項目を削除するには? gin 11/7/29(金) 10:04 質問
【69535】Re:別シートの項目を削除するには? gin 11/7/29(金) 10:06 お礼
【69541】Re:別シートの項目を削除するには? kanabun 11/7/30(土) 9:37 発言

12709 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free