- ベストアンサー
【VBA】セルに含まれない値を追加していく
VBA初心者です あるリストの、指定の列の重複しない値のリストを作成したいのですが 具体的には A B C 1 大阪 りんご 10 2 東京 りんご 20 3 東京 りんご 30 4 名古屋 ごりら 40 5 福岡 ごりら 50 6 大阪 らっぱ 60 指定のセル内(E1:E10)にA列の重複しないリスト (この例だと、大阪、東京、名古屋、福岡) を作成したいのです いくつか試してみたけれどうまくいきません どのようなVBAを作成すればよいでしょうか よろしくお願いいたします
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! A列に地名・B列に品名・C列に数値があるわけですよね? 今回の質問はB・C列は関係なく、A列のデータを重複なしでE列に表示したい! というコトでと解釈して・・・ 一例です。 シートモジュールにしていますので、 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub Sample1() 'この行から Dim i As Long, cnt As Long, c As Range Range("E:E").ClearContents For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row Set c = Range("E:E").Find(what:=Cells(i, 1), LookIn:=xlValues, lookat:=xlWhole) If c Is Nothing Then cnt = cnt + 1 Cells(cnt, "E") = Cells(i, "A") End If Next i End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m
その他の回答 (1)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
一般機能で Sub Sample2() Range("E:E").ClearContents ’E列を[Delete] Rows("1:1").Insert Shift:=xlDown ’1行目を挿入 Range("A1") = "項目名" 'A1セルに「項目名」と入力 'フィルタオプションの設定 重複するレコードは無視する Range("A1:A" & Range("A1").End(xlDown).Row).AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("E1"), Unique:=True Rows("1:1").Delete Shift:=xlUp ’1行目の削除 End Sub
お礼
返信遅くなりまして申し訳ございません 先にご回答いただいた方をベストアンサーとさせていただきました ありがとうございました
お礼
希望通りのものができました ありがとうございました