![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
お世話になります。
各行で、重複したセルを除いた文字列を結合してA列へ表示させたいのですが、全然わからず困っています。宜しくお願い致します。
【抽出前】
セルB2:あいうえお セルC2:かきくけこ セルD2:さしすせそ セルE2:あいうえお
セルB3:たちつてと セルC3:らりるれろ セルD3:たちつてと
・
・
・
【抽出後】 ※重複した部分を除いた抽出結果を、A列に表示させたい
セルA2:あいうえおかきくけこさしすせそ
セルA3:たちつてとらりるれろ
・
・
・
【補足】
※列数は決まっていません。値が入っているところ迄、となります。例では最長E列迄になっておりますが、もっと長い場合もあれば、B列だけの場合もあります。
※行数は、数100行あります。こちらも値が入っているところ迄、抽出結果をA列のA2から順番に表示させたいです。
No.1ベストアンサー
- 回答日時:
こんばんは!
一例です。
Sub Sample1()
Dim i As Long, j As Long, str As String
For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row
For j = 2 To Cells(i, Columns.Count).End(xlToLeft).Column
If InStr(str, Cells(i, j)) = 0 Then
str = str & Cells(i, j)
End If
Next j
Cells(i, "A") = str
str = ""
Next i
End Sub
こんな感じではどうでしょうか?m(_ _)m
素早い回答、どうもありがとうございます。
ほとんどのデータで、欲しかった結果が得られました。
下記のようなケースで、No.2のマクロと違いがみられ、No.2のマクロの方が、より欲しかった結果とはなりますが、私の例の書き方が悪かったのだろうと思います。どうもありがとうございました。本当に助かりました。
例)
【抽出前データ】
セルB2:エリエール除菌ノンアルコール本体45枚【2014】
セルC2:エリエール除菌ノンアルコール本体45枚
【抽出結果】
マクロNo.1:エリエール除菌ノンアルコール本体45枚【2014】エリエール除菌ノンアルコール本体45枚
マクロNo.2:エリエール除菌ノンアルコール本体45枚【2014】
No.2
- 回答日時:
tom04さんのコードでしたら結合した文字列の中から新しい文字列が含まれているかどうかで重複判定されていますので
「かき くけ きく」等の場合は「かきくけ」となり「きく」が重複扱いになりそうですので
一応以下のコードもどうぞ。
Sub 文字列の結合()
Dim i As Long, j As Long
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
For j = 1 To Cells(i, Columns.Count).End(xlToLeft).Column
If 1 = WorksheetFunction.CountIf( _
Range(Cells(i, 1), Cells(i, j)), Cells(i, j)) _
Then Cells(i, 1) = Cells(i, 1) & Cells(i, j)
Next j
Next i
End Sub
ちなみにVBAコードの利用方法も記載しておきます
(1)「Alt+F11」でMicrosoft Visual Basicを開きます
(2)「挿入→標準モジュール」を選択します
(3)右上のペインにVBAコードを貼付
(4)(1)を閉じる
(5)「表示→マクロ」からマクロ名を選択して実行してください
(上記コードでしたら「文字列の結合」を選択)
参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
どうも、ご丁寧にありがとうございます。
400行程のデータで確認をしましたところ、こちらのマクロとNo.1の方にご回答いただいたマクロで50行程のデータで違いがございました。
こちらのデータの方が、より欲しかった結果となります。
No.1のマクロもほとんど欲しい結果が得られていましたので、満足しておりましたが、こちらのマクロは、現在確認出来た範囲では、全てのセルで欲しい結果と完全一致しておりますので、感激しました。
No.1の回答を確認している間にご回答頂いた為、ベストアンサーに選ぶ時点で気付かず、申し訳ございません。こちらがベストアンサーとなります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- Excel(エクセル) 【EXCEL】=セル&セルが上手く表示できない。 7 2022/09/04 21:32
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Visual Basic(VBA) チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が 3 2023/07/18 18:46
- Excel(エクセル) エクセルで#以降の文字を取得したい 1 2022/03/28 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでセルをクリックする...
-
vbaで指定したセルより下の行を...
-
IF関数で違う値もTRUEになる
-
ダブルクリックでセルに色をつ...
-
Excelのマクロで選択している行...
-
エクセルでスピンボタンとスク...
-
excel マクロでの特殊文字入力方法
-
VBA: ユーザー定義関数による、...
-
マクロのデータ削除
-
結合されたセルの移動 VBA
-
【EXCEL-VBA】特定の値の入った...
-
Excelマクロ セルを行頭に移動
-
ExcelVBA コンボボックスに入力...
-
エクセルマクロで「セルのサイ...
-
Excel VBA:フォーム←→セルのア...
-
Excel VBA で色付きのセルの値...
-
【ExcelVBA】値を変更しながら...
-
Worksheets メソッドは失敗しま...
-
VBA シートをコピーする際に Co...
-
VBAマクロ実行時エラーの修正に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaで指定したセルより下の行を...
-
VBAでの SendKeysの変数指定方法
-
エクセルでセルをクリックする...
-
Excelマクロ セルを行頭に移動
-
Excel VBA:フォーム←→セルのア...
-
マクロのデータ削除
-
【VBA】アクティブセルだけ背景...
-
IF関数で違う値もTRUEになる
-
ファイルサーバー上のexcelファ...
-
エクセルマクロで「セルのサイ...
-
ダブルクリックでセルに色をつ...
-
(エクセルVBA)セルを左クリッ...
-
Excel VBA で色付きのセルの値...
-
VBA Rangeの足し算
-
セルをクリックしたら色を変え...
-
【EXCEL-VBA】特定の値の入った...
-
excel マクロでの特殊文字入力方法
-
【マクロ】1つのセルから結合...
-
Excelで数値の変化をカウントし...
-
ExcelVBA コンボボックスに入力...
おすすめ情報