重複しないリストを作る
A1:A11の見出し付きリストから、重複を除いたリストをC1へ作ります。
実行前に確認
- C1:C11の値・数式を消して書き直します。元のA列は変更しません。見出しが必要です。
1サンプルコード
Sub Example1172()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
If MsgBox("C1:C11を出力用に上書きします。続けますか?", vbYesNo + vbExclamation) <> vbYes Then Exit Sub
ws.Range("C1:C11").ClearContents
ws.Range("A1:A11").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=ws.Range("C1"), Unique:=True
End Sub表で見る処理のイメージ実行前・実行後のセルを見比べる
元のA列を残し、重複しない商品名をC列に出します。
A・B・Cは列、1・2・3は行です。例えば「B2」はB列の2行目のセルです。この表は説明用のサンプルです。
実行前
| A | B | C | |
|---|---|---|---|
| 1 | 商品 | — | — |
| 2 | りんご | — | — |
| 3 | みかん | — | — |
| 4 | りんご | — | — |
| 5 | ぶどう | — | — |
| 6 | りんご | — | — |
| 7 | みかん | — | — |
| 8 | 桃 | — | — |
| 9 | ぶどう | — | — |
| 10 | 梨 | — | — |
| 11 | 桃 | — | — |
実行後
| A | B | C | |
|---|---|---|---|
| 1 | 商品 | — | 商品(注目セル) |
| 2 | りんご | — | りんご(注目セル) |
| 3 | みかん | — | みかん(注目セル) |
| 4 | りんご | — | ぶどう(注目セル) |
| 5 | ぶどう | — | 桃(注目セル) |
| 6 | りんご | — | 梨(注目セル) |
| 7 | みかん | — | — |
| 8 | 桃 | — | — |
| 9 | ぶどう | — | — |
| 10 | 梨 | — | — |
| 11 | 桃 | — | — |
色付きは注目する場所です。「—」は未入力、「(空文字)」は数式などが返す空の文字列を表します。
確認で「はい」を選んだ場合です。A1は見出しです。C1:C11は先に消去され、C1:C6に見出しと5種類の商品が残ります。A列は変更されません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
練習用のブックを.xlsm形式で保存し、Sheet1という名前のシートを用意します。A1に商品、A2:A11に重複を含む商品名を入れます。C列を出力用に空けます。
- 2
Alt+F11でVBEを開き、[挿入]→[標準モジュール]へコードを貼り付けます。
- 3
A1:A11が元のリスト、C1が出力先です。
- 4
マクロ内にカーソルを置いてF5で実行します。C1から見出しと重複しない商品名が並びます。