No.4ベストアンサー
- 回答日時:
> 列Aを基準として、列Aと列Bを比較して異なっているセルがあればセルを赤くしたい
これじゃ、No1さんのようにしか解釈できませんよ。
ご希望はこうですか?
Sub test2()
last = Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row 'A列最終行
last2 = Cells(ActiveSheet.Rows.Count, "B").End(xlUp).Row 'B列最終行
For i = 1 To last2 'B列1行から最終行までを検索値とする
Set x = ActiveSheet.Range("A1:A" & last).Find(What:=Cells(i, "B").Value, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) 'A列1行から最終行までを検索
If x Is Nothing Then Cells(i, "B").Interior.ColorIndex = 3 '無ければ赤く
Next
End Sub
No.6
- 回答日時:
こんにちは。
maruru01です。私も条件付書式での方法を。
B1を選択して、条件付書式で、
「数式が」
「=NOT(COUNTIF(A:A,B1))*LEN(B1)」
として、書式を設定します。
あとは、これをB列下行へ書式コピー。
ところで、これだとアルファベットの大文字と小文字が区別されません。
大文字と小文字をきちんと区別したい場合は、条件付書式の数式を、
「=NOT(OR(EXACT(($A$1:$A$10),B1)))*LEN(B1)」
にします。
なお、A列の範囲は適宜変更して下さい。
ただし、後者の場合は、「A:A」のような列全体の指定は出来ません。
必ず、「$A$1:$A$10」のように、範囲で指定(かつ絶対参照で)して下さい。
(A列めいっぱい指定したいなら、「$A$1:$A$65535」にでもして下さい。)
No.5
- 回答日時:
すごいですね
"専門家"と"一般人"が「自信あり」で入り乱れています
質問者さんが「VBA」でと要望されているので皆さんVBAのコードで回答されていますが、
VBAを使用しない方法を置いときますね
条件付書式:
「数式が」「=B1<>INDEX($A$1:$A$65535,MATCH(B1,$A$1:$A$65535))」
No.3
- 回答日時:
少し、質問の文章とご要望は違っているようですね。
後は、工夫してみてください。
Sub test()
Dim r As Range
Dim c As Range
Dim rtn As Variant 'Matchの戻り値
With ActiveSheet
Set r = .Range("A1", .Range("A65536").End(xlUp))
Set s = .Range("B1", .Range("B65536").End(xlUp))
For Each c In s
rtn = Application.Match(c.Value, r, 0)
If IsError(rtn) Then
c.Interior.ColorIndex = 3 'パターン赤
End If
Next c
End With
End Sub
No.2
- 回答日時:
#1の方の式では列AとBが同じ値のセルが赤くなってしまいます。
B列を選択しメニューの書式の条件付き書式で
[数式が]を選び =A1<>B1 と設定してください。書式はパターンで赤を選択。
これで列Aと列Bを比較して異なっているセルがあればセルを赤くできます。
または
条件付き書式で[セルの値が]を選び[次の値に等しくない]を選び=A1と設定してください。書式はパターンで赤を選択。
マクロを記述するならこんな感じです。
Sub Macro1()
Columns("B:B").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=A1<>B1"
Selection.FormatConditions(1).Interior.ColorIndex = 3
End Sub
No.1
- 回答日時:
エクセルでしたらVBAを使用しなくても
B列を選択した状態でメニューバーの[書式]→[条件付き書式]
[数式が][=A1=B1]と設定して
[書式]の[パターン]で背景を赤に設定すればできます。
この回答への補足
A1セルとB1セルを対で比較するのではなく、
A列(ソートされていない)、B列(ソートされていない)ものでも異なっている部分を
発見し、セルを赤くさせるということです。
例
A B
B C
C F
D A
この場合FがA列に存在しないので、赤くする。
ということです。すみませんが、アドバイスをお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 比較して等しくなかったらセルを赤くする 4 2022/07/19 20:11
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
- Visual Basic(VBA) VBAでセル同士を比較して色付け 4 2023/03/06 19:57
- Excel(エクセル) Vba エクセルマクロで、 A列の、A1セルからA10セルに空白のある行を削除する、のは Range 3 2022/11/05 17:44
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Visual Basic(VBA) エクセルVBAで『A列』に新規で数値を入力し『B列』から右方向の空白セルにその値を貼り付ける方法 4 2022/11/05 08:37
- Excel(エクセル) 条件付き書式の色付きセルのカウント方法について 2 2022/10/21 14:51
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
VBA 列全体を別シートの列と比較し、同じ値がある行の、右端に値をコピーする方法について
Excel(エクセル)
-
excel VBA 2つのシートの特定の列を比較して同じ値のセルがあったらその行を上書きしたい
Excel(エクセル)
-
Excelで2つのデータの突合せをしたいです
Excel(エクセル)
-
-
4
Excel VBAで比較して数値があってなかったらセルの色を変換
Visual Basic(VBA)
-
5
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
6
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
7
【VBA】2つのシートの値を比較して条件一致したら、同じ行の隣の値を別ブックへ転記したいです。 VB
Visual Basic(VBA)
-
8
【マクロ】列比較し色塗りしていく
Visual Basic(VBA)
-
9
Excel VBA 決まった文字以外を一括削除
Word(ワード)
-
10
EXCEL VBA で重複するデータを抜き出し、カウントしたい
Excel(エクセル)
-
11
【VBA】指定したセルと同じ値で、別シートにあるセルに移動するには?
Visual Basic(VBA)
-
12
Excelにて、シート間で、データーを比較して、一致したら別シートへ転記するコードを教えてください。
Microsoft ASP
-
13
VBA A列にありB列にないものまた逆
Visual Basic(VBA)
-
14
【VBA】特定列に文字が入っていたらそのセル行をコピーしてマスターブックの同じ行に貼り付けたい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBの色を変えるにはどうしたら...
-
Excel(M365) Vlookup/セル反転(...
-
VBA 別ブックから条件に合うも...
-
Excel 範囲指定スクショについ...
-
エクセルVBAコードで教えて下さ...
-
VBAコードについて教えてくださ...
-
【ExcelVBA】インデックスが有...
-
VBA ユーザーフォーム ボタンク...
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
VBA 別ブックからコピペしたい...
-
Outlookの「受信日時」「件名」...
-
Outlookにて既にウィドウ単体で...
-
プログラミング
-
エクセルファイルのデータ転記...
-
VBA 指定した回数分、別シート...
-
VBAなくなるの?
-
VBA レジストリの値の読み方に...
-
VBAの計算で@が出てしまう件
-
VBA 複数条件の分岐処理の上手...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで大量のファイルをシート名...
-
VBA レジストリの値の読み方に...
-
Excelのマクロについて教えてく...
-
ユーザーフォームに別シートか...
-
VBAの計算で@が出てしまう件
-
エクセルVBAについて
-
Vba 実数および実数タイプの変...
-
【ExcelVBA】値を変更しながら...
-
VBA一覧取得 再投稿
-
VBA指定行削除
-
エクセルVBAについて
-
VBA ユーザーフォーム ボタンク...
-
VBA 何かしら文字が入っていたら
-
エクセルについて
-
2つのマクロでチェックボックス...
-
【マクロ】1つのマクロの中に...
-
ExcelのVBAコードについて教え...
-
VB.net(VB)で、フォームにExcel...
-
Vba SelStart、SelLen教えてく...
-
Excel-VBAのmsgBox()の不思議
おすすめ情報