excel_重複する値のセルの消去_01

excelにおいて、値が入力されているワークシートのある列の値を

マウスドラッグで複数のセルのRangeを選択して、

そのRange内に重複する値があれば、


それをひとつだけ存在するようにセルを消去するような

関数は標準で用意されているのでしょうか?




Excelにはそのような標準の関数は用意されていませんが、

マクロを使用することで目的を達成することができます。

例えば、以下のようなVBAコードを使用して、

選択した範囲内の重複する値を一つだけ残して他を削除することができます。


```vb


Sub RemoveDuplicates()

    Dim rng As Range

    Dim cell As Range

    Dim dict As Object

    Dim key As Variant

    

    '選択範囲を取得

    Set rng = Selection

    

    '辞書オブジェクトを作成

    Set dict = CreateObject("Scripting.Dictionary")

    

    '各セルをチェックして、重複している値を削除

    For Each cell In rng

        If Not dict.exists(cell.Value) Then

            dict.Add cell.Value, 1

        Else

            cell.ClearContents

        End If

    Next cell

    

    'メモリ解放

    Set dict = Nothing

End Sub



```


このコードを使用するには、次の手順を実行してください:


1. Excelを開きます。


2. `Alt + F11`キーを押してVBAエディタを開きます。


3. `Insert`メニューから`Module`を選択し、

新しいモジュールを作成します。


4. 上記のコードをコピーして新しいモジュールに貼り付けます。


5. `F5`キーを押してマクロを実行します。



これで選択した範囲内の重複する値が一つだけ残り、

他のセルは空になります。



何か他にお手伝いできることがあれば、

お知らせくださいね! 😊



コメント