VBA初心者です。Excel2007、Windows7を使用しています。
A列からAG列、平均1000行程度の顧客データがあります。
1行目は見出しです。
その中でAB列が重複する場合、D列のみ結合したいです。
なお、結合する際、間に「,」を入れたいです。
例)
D E F ... AA AB
123 ○ × ... △ □
456 ○ × ... △ ■
789 ○ × ... △ □
上記の場合、D2が123789 D3が456 D4が123789
重複するセルは、続けてや、とびとびの場合もあります。
ご教授頂けないでしょうか。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
こんばんは!
>上記の場合、D2が123789 D3が456 D4が123789
とありますが
>なお、結合する際、間に「,」を入れたいです。
というコトですので、
D2・D4は
123,789
のように表示させてみました。
元データはSheet1にあるとします。
Sheet2を作業用のSheetとして使用していますので、
Sheet2は使っていない状態にしておいてください。
標準モジュールです。
Sub Sample1()
Dim i As Long, k As Long, lastRow As Long
Dim str As String, myRng As Range, wS As Worksheet
Application.ScreenUpdating = False
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "AB").End(xlUp).Row
Set myRng = Range(.Cells(2, "D"), .Cells(lastRow, "D"))
.Range("AB:AB").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
.Range("AB:AB").AutoFilter field:=1, Criteria1:=wS.Cells(i, "A")
wS.Range("B:B").ClearContents
myRng.SpecialCells(xlCellTypeVisible).Copy wS.Range("B1")
str = ""
If wS.Cells(Rows.Count, "B").End(xlUp).Row > 1 Then
For k = 1 To wS.Cells(Rows.Count, "B").End(xlUp).Row
str = str & wS.Cells(k, "B") & ","
Next k
myRng.SpecialCells(xlCellTypeVisible).Value = Left(str, Len(str) - 1)
End If
Next i
.AutoFilterMode = False
.Columns("D:D").AutoFit
End With
wS.Cells.Clear
Application.ScreenUpdating = True
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 文字列を結合するときに重複をなくしたい 関数・VBA 2 2022/12/12 10:40
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Visual Basic(VBA) チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が 3 2023/07/18 18:46
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PowerPointで表の1つの列だけ...
-
エクセルで二つの数字の小さい...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 文字数 多い順 並...
-
文字列に数字を含むセルを調べたい
-
エクセル 同じ値を探して隣の...
-
エクセルの表から正の数、負の...
-
エクセル 時間帯の重複の有無
-
条件付き書式の適用先が変更さ...
-
Excel、市から登録している住所...
-
エクセルで最初のスペースまで...
-
Excelで、A列にある文字がB列...
-
エクセル(勝手に太字になる)
-
Excelで半角の文字を含むセルを...
-
VBAで特定の文字を探して隣のセ...
-
エクセルで文字が混じった数字...
-
列の足し算(Z+1=AA)につ...
-
EXCELで cuontifやsubtot...
-
エクセルで2列のセルを連続して...
-
文字を入力したら数値が自動入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセル 文字数 多い順 並...
-
エクセルで最初のスペースまで...
-
Excelで半角の文字を含むセルを...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
エクセルの項目軸を左寄せにしたい
-
文字列に数字を含むセルを調べたい
-
エクセルの表から正の数、負の...
-
エクセルで文字が混じった数字...
-
EXCELで 一桁の数値を二桁に
-
VBAで文字列を数値に変換したい
-
Excel、市から登録している住所...
-
エクセルで一列おきに空白列を...
-
オートフィルターをかけ、#N/A...
-
「B列が日曜の場合」C列に/...
-
エクセル 時間帯の重複の有無
-
Excel 文字列を結合するときに...
-
エクセルの並び変えで、空白セ...
おすすめ情報