あるプログラムまたはある人から生データを受け取った回数はわかりません。最初に行う必要があるのは、リストから重複を削除することです。同じ状況に陥った場合は、次のマクロが非常に役立ちます。

Sub DelDups()

Dim rngSrc As Range     Dim NumRows As Integer     Dim ThisRow As Integer     Dim ThatRow As Integer     Dim ThisCol As Integer     Dim J As Integer, K As Integer

Application.ScreenUpdating = False     Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)



NumRows = rngSrc.Rows.Count     ThisRow = rngSrc.Row     ThatRow = ThisRow + NumRows - 1     ThisCol = rngSrc.Column

'Start wiping out duplicates     For J = ThisRow To (ThatRow - 1)

If Cells(J, ThisCol) > "" Then             For K = (J + 1) To ThatRow                 If Cells(J, ThisCol) = Cells(K, ThisCol) Then                     Cells(K, ThisCol) = ""

End If             Next K         End If     Next J

'Remove cells that are empty     For J = ThatRow To ThisRow Step -1         If Cells(J, ThisCol) = "" Then             Cells(J, ThisCol).Delete xlShiftUp         End If     Next J     Application.ScreenUpdating = True End Sub

マクロは、呼び出す前に行った選択に対して機能します。したがって、C15:C59の範囲から重複セルを削除する必要がある場合は、その範囲を選択してからマクロを実行するだけです。範囲内で複数の列を選択した場合(たとえば、C15:E59)、範囲内の最初の列のみが影響を受けます。マクロが完了すると、空白のセルと同様に、重複するセルが削除されます。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(2109)は、Microsoft Excel 97、2000、2002、および2003に適用されます。