| 
    
     |  | ichinoseさんありがとうございました。 朝まで待ってていただいてご迷惑をおかけしました。
 台風の対応で返事が送れたことを
 深くお詫びいたします。
 
 さて、早速ためさせていただきました。
 処理時間が約5分ぐらいかかりますが
 良好な結果を得ることができました。
 
 今後活用させていただきます。
 
 
 ▼ichinose さん:
 >▼のり さん:
 >こんばんは。
 >遅くなりました(朝、8:15までは見てたんですが・・)
 >
 >>ichinose さん、おはようございます。
 >>早速の回答ありがとうございました。
 >>サンプルで試したら良好です。
 >>
 >>実は、使用している表の領域が
 >>セルA12〜AP2233で
 >>削除を判定する番号が入っているセルはE12〜E2233です。
 >>このE列に同一番号が何回も出てきます。
 >>同じ番号が出てきた場合行番号の上位行だけ
 >>残し他の業は削除したいのですが。
 >>
 >>再度の教授をお願いします。
 >>
 >>
 >>▼ichinose さん:
 >>>▼のり さん:
 >>>こんばんは。
 >>>ちょっと前に似たような処理の投稿をしましたが・・・・。
 >>>
 >>>>どなたかマクロを教えてください。
 >>>> セルB1〜j100までにデータがあります。
 >>>> 列B(セルB1〜B100)には番号が入力されていますが
 >>>> 同一番号が何回も出てきます。
 >>>>
 >>>> そこで、同じ番号が出てきた場合行番号の上位行だけ
 >>>> 残し他の業は削除したいのですが。
 >>>>
 >>>> たとえばセルB1に32番
 >>>>     セルB8に32番
 >>>>     セルB65に32番
 >>>>  がある場合
 >>>>  上位行の行1だけを残し行8と65は削除する。
 >>>>
 >>>> お願いします。
 >>>'==========================================================
 >>>Sub test()
 >>>  Dim rd As Range
 >>>  Dim ans As Range
 >>>  Set rd = Range("b1:b100")
 >>>  With rd.Offset(0, 10)
 >>>    .Formula = "=IF(COUNTIF($b$1:b1,b1)>1,b1,"""")"
 >>>    .Value = .Value
 >>>    On Error Resume Next
 >>>    Set ans = Nothing
 >>>    Set ans = .SpecialCells(xlCellTypeConstants)
 >>>    .Value = ""
 >>>   If Not ans Is Nothing Then
 >>>     ans.EntireRow.Delete
 >>>     End If
 >>>   End With
 >>>End Sub
 >>>
 >>>尚、L列を作業列として使っています。
 >>>確認してください
 >'==========================================================
 >Sub test()
 >  Dim rd As Range
 >  Dim ans As Range
 >  Set rd = Range("e12:e2233")
 >  With rd.Offset(0, 40) 'AS列
 >    .Formula = "=IF(COUNTIF($e$12:e12,e12)>1,e12,"""")"
 >    .Value = .Value
 >    On Error Resume Next
 >    Set ans = Nothing
 >    Set ans = .SpecialCells(xlCellTypeConstants)
 >    .Value = ""
 >   If Not ans Is Nothing Then
 >     ans.EntireRow.Delete
 >     End If
 >   End With
 >End Sub
 >
 >で確認してみて下さい。
 
 
 |  |