

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がそのまま使えます。
この回答へのお礼
お礼日時:2017/07/12 09:13
できました!
こういう場合はkeyを使うのですね。
他にも応用できそうなので、
色々と悩んでみたいと思います。
ありがとうございました。

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

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
異なる色の9個の玉を3個ずつ3つ...
-
「言う通り」と「言った通り」...
-
サクラエディタは複数行に渡る...
-
重複しないグループ分けをエク...
-
「仰せの通り」は「仰る通り」...
-
「**者のかた」って言いますか?
-
問題文で「傍線部ⓐⓑⓒⓓⓔの主語を...
-
100MBとは0.1GBのことですか?
-
±10%や±5%ってどうやって計算す...
-
4/1000とは、0.4ですか?
-
学校計画について!
-
あと○点で平均○点
-
文化祭で人力のコーヒーカップ...
-
教科傍用。
-
大学受験の要約問題について
-
日本語論文を書く際の英単語の...
-
父親の英語読みはファーザーで...
-
高1です。選択科目の理由って...
-
英検の筆記80~100字だったんで...
-
深海
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「言う通り」と「言った通り」...
-
サクラエディタは複数行に渡る...
-
「**者のかた」って言いますか?
-
重複しないグループ分けをエク...
-
問題文で「傍線部ⓐⓑⓒⓓⓔの主語を...
-
100MBとは0.1GBのことですか?
-
異なる色の9個の玉を3個ずつ3つ...
-
日曜日 深夜 って土曜と日曜の...
-
IDって重複するのですか?
-
「仰せの通り」は「仰る通り」...
-
10個の数字を5個の組み合わ...
-
Out Look2003について
-
同じ通りにやる。の"同じ通り"...
-
バグで重複質問になっただけな...
-
重複しない乱数表を作る関数に...
-
最近日焼けサロンに行く人は、...
-
「~の対象物であるもの」は重...
-
回答の削除の仕方を教えて下さい。
-
itunesの局の重複
-
重複しない組み合わせのプログラム
おすすめ情報
回答いたします。
1)1行目は見出しですか。→見出しです。
2)W行が除外の場合、無視するとなってますが、国名が日本でも同様ですか。→①重複しない(日本の場合はW列に「除外」という文字列は発生しない&その他の文字列が重複しても判定は不要です。そのためV列で判定したいです。)
3)日本以外の場合は、重複判定ですが→ ②でお願いします。(国名ごとに、W列の文字列を判定)
4)日本の場合は、V列に除外という文字があっても、通常の文字列として扱う。→重複でお願いします。判定したくないところに「除外」と入力しており、通常の文字列内に「除外」という文字列はありません。
追加補足要求です。 1)行はどのくらいありますか→3000行程度ですが、可変です。
tatsu99様
早速のご対応ありがとうございました。
コードを拝見いたしまして、
まだ実行はできていませんが
一点、私の回答ミスに気がつきました。
3)日本以外の場合は、重複判定ですが、 ①「国名+W行の文字列」が重複の場合、重複とする。 (この場合、青色部分は重複しない。) ②W行の文字列のみで、重複の判定をする。 (この場合、青色部分は重複する) ①②のどちらでしょうか。
の設問に対する回答は「 ①「国名+W行の文字列」が重複の場合、重複とする。 (この場合、青色部分は重複しない。)」でした。
特にこの部分が分からなくて悩んでいるので、
よろしければ教えていただけますでしょうか。
宜しくお願いいたします。