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

 

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



上記の excelの vbaについておたずねしますが、

このコードを実行しようとすると、

まず、値が入力されている複数のセルを

選択しなければなりませんが、


そのあとで処理の実行をするには、

excelの画面のどの場所から行うのでしょうか?


別にボタンを追加するのでしょうか?




このVBAコードは、選択した範囲内の重複する値を削除します。


このマクロを実行するには、次の手順に従ってください:


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


2. VBAエディタで、`挿入 > モジュール`をクリックして、

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


3. 提供されたVBAコードを新しいモジュールにコピー&ペーストします。


4. `ALT + Q`キーを押すか、

`X`ボタンをクリックして、VBAエディタを閉じます。



次に、選択範囲内の重複を削除するために

マクロを実行する必要があります。

これには2つの方法があります:


**オプション1:マクロを手動で実行する**


1. Excelワークシートで、重複を確認する範囲のセルを選択します。


2. `ALT + F8`キーを押して、「マクロ」ダイアログボックスを開きます。


3. ダイアログボックスで、

利用可能なマクロのリストから「RemoveDuplicates」を選択します。


4. `実行`ボタンをクリックして、マクロを実行します。


**オプション2:マクロをボタンに割り当てる**


1. Excelワークシートで、重複を確認する範囲のセルを選択します。


2. Excelリボンの「開発」タブに移動します。

開発タブが表示されていない場合は、

Excelのオプションで有効にすることができます。


3. `挿入 > ボタン (フォームコントロール)`をクリックします。


4. ワークシート上にボタンを描画します。


5. 表示される「マクロの指定」ダイアログボックスで、

利用可能なマクロのリストから「RemoveDuplicates」を選択します。


6. `OK`ボタンをクリックして、ボタンにマクロを割り当てます。


7. これで、ワークシート上のボタンをクリックして、

マクロを実行できます。



これらのいずれかのオプションを使用して、

選択した範囲内の重複する値を効率的に削除することができます。

さらに質問があれば、遠慮なく聞いてくださいね。



コメント