

No.3ベストアンサー
- 回答日時:
以下のマクロを標準モジュールへ登録してください。
Option Explicit
Public Sub 重複チェック()
Dim maxrow As Long
Dim row As Long
Dim dicT0 As Object
Dim dicT1 As Object
Dim key1 As Variant
Dim key2 As Variant
Dim key As Variant
Set dicT0 = CreateObject("Scripting.Dictionary") ' 連想配列の定義
Set dicT1 = CreateObject("Scripting.Dictionary") ' 連想配列の定義
maxrow = Cells(Rows.Count, "H").End(xlUp).row 'sheet H列 最終行を求める
'既存の色を解除
Range("A2:W" & maxrow).Select
With Selection.Interior
.Pattern = xlNone
End With
For row = 2 To maxrow
key1 = Cells(row, "H").Value
If key1 = "日本" Then
key2 = Cells(row, "V").Value
Else
key2 = Cells(row, "W").Value
End If
If key1 = "日本" Or key2 <> "除外" Then
key = key1 & "|" & key2
If dicT0.exists(key) = True Then
dicT1(row) = True
dicT1(dicT0(key)) = True
Else
dicT0(key) = row
End If
End If
Next
For Each key In dicT1
Range("A" & key & ":W" & key).Select
With Selection.Interior
.Color = 65535
End With
Next
MsgBox ("完了")
End Sub

No.5
- 回答日時:
すみません。
No3の回答ですが、
>3)日本以外の場合は、重複判定ですが、 ①「国名+W行の文字列」が重複の場合、重複とする。 (この場合、青色部分は重複しない。)
> ②W行の文字列のみで、重複の判定をする。 (この場合、青色部分は重複する) ①②のどちらでしょうか。
>の設問に対する回答は「 ①「国名+W行の文字列」が重複の場合、重複とする。 (この場合、青色部分は重複しない。)」でした。
①の仕様で作成していました。(②ではありません)
したがって、結果的にNo3がそのまま使えます。
できました!
こういう場合はkeyを使うのですね。
他にも応用できそうなので、
色々と悩んでみたいと思います。
ありがとうございました。

No.4
- 回答日時:
3)日本以外の場合は、重複判定ですが、 ①「国名+W行の文字列」が重複の場合、重複とする。
(この場合、青色部分は重複しない。) ②W行の文字列のみで、重複の判定をする。 (この場合、青色部分は重複する) ①②のどちらでしょうか。の設問に対する回答は「 ①「国名+W行の文字列」が重複の場合、重複とする。 (この場合、青色部分は重複しない。)」でした。
>特にこの部分が分からなくて悩んでいるので、
>よろしければ教えていただけますでしょうか。
判らないというのは、①と②の違いが判らないという意味ですか?
それとも①を実装するには、どうすれば良いかわからないという意味ですか?
どちらの意味でしょうか?

No.1
- 回答日時:
補足要求です。
1)1行目は見出しですか。(添付図のグレー部分)
2)W行が除外の場合、無視するとなってますが、国名が日本でも同様ですか。
①日本でも無視するなら、緑の部分は重複しない。
②日本は無視しないなら、緑の部分は重複する。
①②のどちらでしょうか?
3)日本以外の場合は、重複判定ですが、
①「国名+W行の文字列」が重複の場合、重複とする。
(この場合、青色部分は重複しない。)
②W行の文字列のみで、重複の判定をする。
(この場合、青色部分は重複する)
①②のどちらでしょうか。
4)日本の場合は、V列に除外という文字があっても、通常の文字列として扱う。
従って、オレンジの部分は重複する。・・・これであってますか。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) Excel 文字列を結合するときに重複をなくしたい 関数・VBA 2 2022/12/12 10:40
- Excel(エクセル) エクセルでフィルタ後の列の重複を回避したい 6 2022/10/13 12:50
- Excel(エクセル) VBAで条件付き書式を設定 3 2023/07/14 17:52
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「言う通り」と「言った通り」...
-
「仰せの通り」は「仰る通り」...
-
「**者のかた」って言いますか?
-
同じ通りにやる。の"同じ通り"...
-
サクラエディタは複数行に渡る...
-
itunesの重複項目の削除
-
100MBとは0.1GBのことですか?
-
【Excel】マクロを使用した重複...
-
日曜日 深夜 って土曜と日曜の...
-
今日、16時まで寝てしまいまし...
-
【VBA】特定の範囲で同じ値を含...
-
サブスクで月2万ってどうなんで...
-
4/1000とは、0.4ですか?
-
英検の筆記80~100字だったんで...
-
教科傍用。
-
±10%や±5%ってどうやって計算す...
-
英語で鑿(ノミ)と彫刻刀
-
じゃんけん列車の歌
-
アルファベット順の4文字以上...
-
トライの講習会
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「言う通り」と「言った通り」...
-
サクラエディタは複数行に渡る...
-
重複しないグループ分けをエク...
-
「**者のかた」って言いますか?
-
100MBとは0.1GBのことですか?
-
異なる色の9個の玉を3個ずつ3つ...
-
問題文で「傍線部ⓐⓑⓒⓓⓔの主語を...
-
日曜日 深夜 って土曜と日曜の...
-
同じ通りにやる。の"同じ通り"...
-
「仰せの通り」は「仰る通り」...
-
【VBA】特定の範囲で同じ値を含...
-
PDFデータ A-2サイズの2つの...
-
重複フォルダ検索
-
10個の数字を5個の組み合わ...
-
「過信し過ぎ」はtoo muchの意...
-
「○○極まりないことこの上ない...
-
2024年から
-
予定通り… 想定内通り… 思った...
-
UWSCに詳しい方助けてください><
-
Word2007差し込み印刷について。
おすすめ情報
回答いたします。
1)1行目は見出しですか。→見出しです。
2)W行が除外の場合、無視するとなってますが、国名が日本でも同様ですか。→①重複しない(日本の場合はW列に「除外」という文字列は発生しない&その他の文字列が重複しても判定は不要です。そのためV列で判定したいです。)
3)日本以外の場合は、重複判定ですが→ ②でお願いします。(国名ごとに、W列の文字列を判定)
4)日本の場合は、V列に除外という文字があっても、通常の文字列として扱う。→重複でお願いします。判定したくないところに「除外」と入力しており、通常の文字列内に「除外」という文字列はありません。
追加補足要求です。 1)行はどのくらいありますか→3000行程度ですが、可変です。
tatsu99様
早速のご対応ありがとうございました。
コードを拝見いたしまして、
まだ実行はできていませんが
一点、私の回答ミスに気がつきました。
3)日本以外の場合は、重複判定ですが、 ①「国名+W行の文字列」が重複の場合、重複とする。 (この場合、青色部分は重複しない。) ②W行の文字列のみで、重複の判定をする。 (この場合、青色部分は重複する) ①②のどちらでしょうか。
の設問に対する回答は「 ①「国名+W行の文字列」が重複の場合、重複とする。 (この場合、青色部分は重複しない。)」でした。
特にこの部分が分からなくて悩んでいるので、
よろしければ教えていただけますでしょうか。
宜しくお願いいたします。