
【やりたい事】
画像をご覧ください
左にあるブックと同じデータが、右のブックにもあります
画像のように、右のブックの、左のデータと同じ部分に水色を塗りたい
※右のデータに水色にしたい
左と右のデータの値や件数、並び方は同じです
ただし、右のExcelには、3パターンの存在の仕方があります
1パターン目→沢山あるデータの1番下にある
2パターン目→沢山あるデータの1番上にある
3パターン目→沢山あるデータの真ん中辺にある
※上記3パターンは、画像の右3パターンの説明
また
左のExcelのパターンも画像のとおり2パターンあります
※いずれも、並び順、件数は同じ
コード or アドバイス ご存じの方、教えて下さい
例 下記のいずれかのパターンが発生します
全部のパターンが1回で発生するという意味ではないです
左のエクセルパターン1 右のエクセル 画像の1番上のパターン
左のエクセルパターン1 右のエクセル 画像の1番下のパターン
左のエクセルパターン2 右のエクセル 画像の1番上のパターン
【左のリストの場所】【マクロが設置しているファイル】
C:\Users\user\Documents\総件数表示\リスト.xlsm
【右のリストの場所】
C:\Users\user\Documents\総件数表示\データ.xlsx
【左と右のExcelのシート名】
Sheet1
【水色】
XlRgbColor列挙→rgbAzure
値→16777200
#16進→#F0FFFF

A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No1です。
>以下なのですが、A列のお客様番号のみ一致に変更したいのですが
>以下のように割愛すれば良いのでしょうか?
>【コード】
>key = ws1.Cells(row1, "A").Value
>key = ws2.Cells(row2, "A").Value
はい、それでOKです。
No.1
- 回答日時:
以下のマクロを標準モジュールに登録してください。
左側と右側が同じデータかどうかは、
A列、B列、C列、D列が全て同じであれば、同じデータとして判定しています。
Option Explicit
Public Sub 同一データ検索()
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim lastrow1 As Long
Dim lastrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim dicT As Object
Dim key As String
Set dicT = CreateObject("Scripting.Dictionary")
Set ws1 = ThisWorkbook.Worksheets("Sheet1")
Set wb2 = Workbooks("データ.xlsx")
Set ws2 = wb2.Worksheets("Sheet1")
ws2.Cells.Interior.Pattern = xlNone
lastrow1 = ws1.Cells(Rows.Count, "A").End(xlUp).Row
lastrow2 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
For row1 = 2 To lastrow2
key = ws1.Cells(row1, "A").Value & "|" & ws1.Cells(row1, "B").Value & "|" & ws1.Cells(row1, "C").Value & "|" & ws1.Cells(row1, "D").Value
dicT(key) = row1
Next
For row2 = 2 To lastrow2
key = ws2.Cells(row2, "A").Value & "|" & ws2.Cells(row2, "B").Value & "|" & ws2.Cells(row2, "C").Value & "|" & ws2.Cells(row2, "D").Value
If dicT.exists(key) = True Then
ws2.Range("A" & row2 & ":D" & row2).Interior.Color = rgbAzure
End If
Next
MsgBox ("完了")
End Sub
大変、実効性のあるコード、教授ありがとうございます
以下なのですが、A列のお客様番号のみ一致に変更したいのですが
以下のように割愛すれば良いのでしょうか?
※A列のみで良いのは、右のリストについては、お客様番号が重複
しないように、チェックしている為です。また、C列・D列は空白等
ある事があり、左と右のブックにおける完全一致は難しい為です
また、
【コード】
key = ws1.Cells(row1, "A").Value
key = ws2.Cells(row2, "A").Value
>A列、B列、C列、D列が全て同じであれば、同じデータとして判定しています。
ご指導、宜しくお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】列を折りたたみ非表示したセルの内、可視セルをコピーするとがエラーとなる
Excel(エクセル)
-
エクセルのリストについて
Excel(エクセル)
-
エクセルの複雑なシフト表から当日の出勤者と勤務時間帯を抜き出したい
Excel(エクセル)
-
-
4
条件付書式設定にて、本日の日付を条件として、2行分にセルに色を付けるには?
Excel(エクセル)
-
5
vba テキストボックスとリフトボックスについて
Excel(エクセル)
-
6
エクセルの循環参照、?
Excel(エクセル)
-
7
【マクロ】EXCELで読込したCSVファイルは通常のエクセル(xlsx)と同じようにマクロで動かせる
Excel(エクセル)
-
8
9月17日でサービス終了らしいのですが、今までのようなエクセルの質問や相談はどこですればいい?
Excel(エクセル)
-
9
【マクロ】アクティブセルの時間を別ブックから検索。見つかったセルを含めた最終行まで選択したい
Excel(エクセル)
-
10
特定のセルだけ結果がおかしいです。 関数はオートフィルでコピーしており、細かく見てもどこもおかしくあ
Excel(エクセル)
-
11
【関数】同じ関数なのに、エラーが出るエクセルと出ないエクセルある?
Excel(エクセル)
-
12
【マクロ】【配列】3つのシートに、同じ作業をしたい
Excel(エクセル)
-
13
【エクセル】期限アラートについて
Excel(エクセル)
-
14
【マクロ】【相談】Excelブックとマクロを早く動くようにする為には?
Excel(エクセル)
-
15
エクセルの関数について
Excel(エクセル)
-
16
【マクロ】変数に入れるコードを少しでも短くする為には?
Excel(エクセル)
-
17
マクロを実行すると、セル範囲に @ がついてしまう
Excel(エクセル)
-
18
【マクロ】コードを少しでも、減らする為には
Excel(エクセル)
-
19
エクセルについて教えてください
Excel(エクセル)
-
20
エクセルのファイルのコピーをとりたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】左のブックと右のブ...
-
右に同じ
-
利き手について質問です。私の...
-
ハンドメイドのスマホポシェッ...
-
どっちの方がかっこいい体型で...
-
利き手についての疑問
-
右隣?左隣?
-
左のベストに右のブラウス合わ...
-
集団行動 4列縦隊 おしえて~。
-
入力が不要を意味する斜線は、...
-
ダイヤル式のポストなのですが...
-
賞状の受け取り方
-
カタカナの「ワ」と「ク」の字...
-
Wordで段組をした場合の行番号...
-
「右に出る者はいない」はなぜ...
-
長期休みの関数はありますか
-
なぜ「右」は「正しい」「権利...
-
ごんべんに刀、口でなんと読む
-
単語の先頭に付く『右』とは?
-
「写」3画め、「考」5画目の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】左のブックと右のブ...
-
右に同じ
-
カタカナの「ワ」と「ク」の字...
-
「写」3画め、「考」5画目の...
-
単語の先頭に付く『右』とは?
-
利き手について質問です。私の...
-
写真に写っている4人はそれぞれ...
-
入力が不要を意味する斜線は、...
-
左のベストに右のブラウス合わ...
-
爪切りって左右で違いがありま...
-
右隣?左隣?
-
三角関数です。 文章の4番右上...
-
×(バツ)の書き方。
-
ハンドメイドのスマホポシェッ...
-
彼は我が社の右腕だ! 彼は我が...
-
利き手
-
右と左のかっこいい言い方
-
集団行動 4列縦隊 おしえて~。
-
Wordで段組をした場合の行番号...
-
??右と左がわからない??
おすすめ情報