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. これで、ワークシート上のボタンをクリックして、
マクロを実行できます。
これらのいずれかのオプションを使用して、
選択した範囲内の重複する値を効率的に削除することができます。
さらに質問があれば、遠慮なく聞いてくださいね。
コメント
コメントを投稿