[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数行の完全一致について』(子牛)
A B C aaa/2cesv aaa/2cdsv "マル" 0 "バツ" ssw234 ssw234 "バツ"
のように、A列とB列の各セルを10行に渡ってその結果を Cセルに出力したいのです。 自分なりに
For Y = 1 To 10 If Cells(Y, 1).Value = Cells(Y, 2) Then Cells(Y, 3).Value = "マル" Else Cells(Y, 3).Value = "バツ" Cells(Y, 3).Font.Color = RGB(255, 0, 0) 'フォントの色を赤にする
というコードを書いたのですが、これだと0=nullと認識されてしまうようです。 AとBのセルが完全に一致した時のみ、マルと出したいのです。
またバツのときだけ赤字にしたかったのですが、マルの時も赤字になってしまいます。
以上すいませんがよろしくお願いします。
1) WorksheetFunction の Exact 関数 または vb StrComp関数で検査してみては? 2) 最初にC1:C10のセル色を無色にしておく必要があるのでは?
Range("c1:c10").Interior.ColorIndex = xlNone
こんな感じでもよいのでは?
Sub test() With Range("c1:c10") .Interior.ColorIndex = xlNone .Formula = "if(exact(a1,b1),"○",false)" On Error Resume Next With .SpecialCells(-4123,4) .Value = "バツ" .Interior.Color = vbRed End With End With End Sub (seiya)
seiyaさん ありがとうございます。
ただ、 .Formula = "if(exact(a1,b1),"○",false)" のところで構文エラーが出てしまいます。。。
あと With .SpecialCells(-4123,4) のところは何をやっているのでしょうか?
おっと 1) .Formula = "=if(exact(a1,b1),""○"",false)" でした
2) SpecialCells(xlCellTypeFormulas, xlLogical) です。 数式で、結果が True/False のセルを拾います。 (seiya)
大変勉強になりました!
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.