[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『値が重複したとき指定したセルの書式を変更』(けん)
[セルの値が重複したときに指定したセルの書式を変えるのは?]
Sheet1のC列にあるデーターとSheet3のB列のデーターを比較して、
重複したデーターが有る時に、指定したセルの書式を変えたいのですが、
どうしても出来ません。
例えば、Sheet1のC3の値がSheet3のB列に含まれた時に、Sheet1のE3,F3,G3のセルの書式を変えたいのですけど。
下記ではどうでしょうか。(夕焼) 書式変更はサンプル例です。
Sub TEST()
lastrow32 = Worksheets(3).Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To lastrow32
If Worksheets(1).Cells(3, 3) = Worksheets(3).Cells(i, 2) Then
Worksheets(1).Cells(3, 5).Interior.ColorIndex = 3 '''書式変更例(セル色変更) Worksheets(1).Cells(3, 6).Font.Size = 14 '''''書式変更例(文字サイズ変更) Worksheets(1).Cells(3, 7).HorizontalAlignment = xlCenter '''書式変更例(文字配置位置変更)
Exit For End If Next
End Sub
良く読んだら,上は,ちがうようですので
C3だけでなく,C列に沢山あって,全てチェックするように 変更しました。
Sub TEST2()
lastrow13 = Worksheets(1).Cells(Rows.Count, 3).End(xlUp).Row
For ii = 1 To lastrow13
lastrow32 = Worksheets(3).Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To lastrow32
If Worksheets(1).Cells(ii, 3) = Worksheets(3).Cells(i, 2) Then
Worksheets(1).Cells(ii, 5).Interior.ColorIndex = 3 '''書式変更例(セル色変更) Worksheets(1).Cells(ii, 6).Font.Size = 14 '''''書式変更例(文字サイズ変更) Worksheets(1).Cells(ii, 7).HorizontalAlignment = xlCenter '''書式変更例(文字配置位置変更)
Exit For End If Next
Next
End Sub
条件付き書式の数式の中で直接!を含むセル参照を使用しますと、無効となるようです。 Sheet3!$B$1:$B$30の部分をINDIRECT("Sheet3!$B$1:$B$30")とするか、名前を利用して、 下のようにしますと、条件設定に成功するように思います。
Sheet1のE3を選択しG3まで範囲を拡大し、挿入、名前、定義として、 名前にCHK、参照範囲に=COUNTIF(Sheet3!$B$1:$B$30,Sheet1!$C3)と登録し、 そのまま、書式、条件付書式、条件1に数式が、その右の箱に=CHKと指定します。 (LOOKUP) こちらもご覧下さい。↓ [[20050725110942]] 『在庫場所の空〜塗りつぶし〜』(初心者18)
シート1
AAA 000 601 0 0 12A
BBB 800 303 0 0 12A
CCC 200 296 10A 11B 12C
DDD 000 363 0 0 11A
EEE 100 331 0 11A 12B
FFF 300 461 0 10A 12A
GGG 140 141 0 0 11A
HHH 600 526 0 0 11A
シート3
AA-10B 601
AA-10B 281
AA-12B 303
AA-12B 551
AA-12B 296
AA-10B 291
AA-10B 332
AA-10B 606
AA-10B 296
AA-10B 301
AA-10B 377
AA-11B 141
AA-11B 331
AA-11B 341
AA-12B 331
AA-11B 400
AA-11B 141
まず、当初のご質問は、解決されたのでしょうか? (LOOKUP)
>不必要なセルまで変わってしまったので とは、なんでしょう? ご質問には、対応しているつもりなのですが。。 また、今回のご質問では、書式を変更する個所は、どこなのでしょう? (LOOKUP)
けんさん マクロを使った方法を示してありますが、そちらは確認できましたでしょうか。(夕焼)
まずは,最初の内容が実現できてからの,次のステップだと思います。 最初の要求にたいしてはどうなのでしょうか。最初の要求はキャンセルなので しょうか。(夕焼)
ご希望のむきが、よく理解できませんので、想像で試作しました。
Sheet1のD1を選択し、範囲をF8まで拡大し、挿入、名前、定義で、名前をCHK2、 参照範囲を =SUMPRODUCT(($C1=Sheet3!$B$1:$B$17)*(LEFT(D1,2)=MID(Sheet3!$A$1:$A$17,4,2))) と登録します。 書式、条件付書式で、条件1に数式がとして、その右に=CHK2として、書式を登録しますと、 このようにできます。*が書式が実現しています。 (LOOKUP)
==Sheet1== A B C D E F 1 AAA 0 601 0 0 12A 2 BBB 800 303 0 0 *12A 3 CCC 200 296 *10A 11B *12C 4 DDD 0 363 0 0 11A 5 EEE 100 331 0 *11A *12B 6 FFF 300 461 0 10A 12A 7 GGG 140 141 0 0 *11A 8 HHH 600 526 0 0 11A
==Sheet3== A B 1 AA-10B 601 2 AA-10B 281 3 AA-12B 303 4 AA-12B 551 5 AA-12B 296 6 AA-10B 291 7 AA-10B 332 8 AA-10B 606 9 AA-10B 296 10 AA-10B 301 11 AA-10B 377 12 AA-11B 141 13 AA-11B 331 14 AA-11B 341 15 AA-12B 331 16 AA-11B 400 17 AA-11B 141
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.