|
▼のり さん:
こんばんは。
遅くなりました(朝、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
で確認してみて下さい。
|
|