No.5ベストアンサー
- 回答日時:
このコード、読めますか?
項目見出し、および、重複のある行のうちの2行目をコピーして、Sheet2へペーストしてみました。
「重複のある行のうちの2行目」を判定するために、Countifs関数を使って、答えが2となる行を対象としました。なので、効率が良いとは言えません。見た感じ、データはソートされているようなので、前後の比較で判断したほうが効率的かもしれません。
Sub sample()
Dim myRng As Range
Dim i As Long
With Sheets("Sheet1")
Set myRng = .Range("A1:C1")
For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
If WorksheetFunction.CountIfs(.Range(.Cells(2, "A"), .Cells(i, "A")), .Cells(i, "A"), _
.Range(.Cells(2, "B"), .Cells(i, "B")), .Cells(i, "B"), _
.Range(.Cells(2, "C"), .Cells(i, "C")), .Cells(i, "C")) = 2 Then
Set myRng = Union(myRng, .Cells(i, "A").Resize(, 3))
End If
Next i
End With
myRng.Copy Worksheets("Sheet2").Range("A1")
End Sub
No.4
- 回答日時:
訂正します、すみません。
違う行に出力しているので、、Copyしています。本来同じ行で実行します。
行× 列〇 範囲〇
違う列に出力しているので、、Copyしています。本来同じ範囲で実行します。
応用、変更する場合は、RemoveDuplicatesで調べてください。
No.3
- 回答日時:
こんにちは、シート構成が分かりませんが、
ただ、重複をなくすだけなら、RemoveDuplicatesを使えば、一行です。
ご質問の場合、2行コードで、、列の行をすべてこの為に使っているなら、これでOK
使えないなら、Dictionaryオブジェクトかな。。これだと少し理解するのが難しいかも。。です。
RemoveDuplicatesの例
違う行に出力しているので、、Copyしています。本来同じ行で実行します。
Sub duplicateDelete() '重複データの削除
ActiveSheet.Range("A:C").Copy ActiveSheet.Range("D:F")
ActiveSheet.Range("D:F").RemoveDuplicates Columns:=Array(1, 2, 3)
End Sub
A列からデータがある場合、あくまで、ご質問の内容です。
参考まで。
No.2
- 回答日時:
正解は No1のGooUserラックさんがお答えされると思います。
でもVBAのコードをかけるスキルを取得されないとあとが大変ですよ。
こういうのは必ず修正がつきものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) ListView重複データ削除 2 2022/08/05 18:12
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) VBAを使いシート間で貼り付け 3 2023/03/14 20:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数の条件に合う行番号を取得...
-
エクセルで日付から日にちを削...
-
Excelで2つのデータの突合せを...
-
エクセルで1列に500行並んだデ...
-
Excelで2行単位のソートの出来...
-
エクセルで、重複データを除外...
-
Excelの30個ずつの平均値の出し方
-
VBA 数式を最終行までコピー
-
Countifよりも早く重複数をカウ...
-
エクセルで横並びの複数データ...
-
excel:別シートの値を飛び飛び...
-
500行の中から、多い順に抽出す...
-
エクセル関数について aかつ...
-
Illustrator 9.0の登録者名の変更
-
EXCELでの重複データカウント方...
-
Excel VBA 【QueryTables.Add】...
-
不要な行を消したい
-
エクセル~空白のセルのある行...
-
エクセル あ 1/10 1/11 1/12 1/...
-
エクセルVBA C列に特定の文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで日付から日にちを削...
-
エクセルで1列に500行並んだデ...
-
複数の条件に合う行番号を取得...
-
Excelで2つのデータの突合せを...
-
excel:別シートの値を飛び飛び...
-
Excelで2行単位のソートの出来...
-
エクセルで、重複データを除外...
-
Countifよりも早く重複数をカウ...
-
Excelの30個ずつの平均値の出し方
-
エクセルVBA C列に特定の文字列...
-
VBA 数式を最終行までコピー
-
エクセルで1つの会社名に対して...
-
エクセル2016にて、行挿入&コピ...
-
エクセルで横並びの複数データ...
-
エクセルで時刻だけを抜き出す...
-
エクセル~空白のセルのある行...
-
VBA 大きなtxtテキストファ...
-
【エクセル】1列内に複数ある同...
-
EXCELでの重複データカウント方...
-
Excelでデーターが多いので、平...
おすすめ情報
行数は可変します。