
選択範囲内(縦一列)で同じ値が入力されたセルの色を黄色にするプログラムを作りました。
Sub 選択範囲内で同じ値が入力されたセルを調べる_縦()
Dim startrow As Byte
Dim lasrow As Byte
Dim i As Long
Dim j As Byte
Dim atai
If TypeName(Selection) <> "Range" Then Exit Sub
startrow = ActiveCell.Row '最初のセルの列番号を取得
lasrow = Selection.Rows(Selection.Rows.Count).Row '最終列番号を取得
'同じ値が入力されているセルを黄色にする
For i = startrow To lasrow - 1
If ActiveSheet.Cells(i, ActiveCell.Column).Interior.ColorIndex = xlNone Then
atai = ActiveSheet.Cells(i, ActiveCell.Column).Value
For j = i + 1 To lasrow
If atai = ActiveSheet.Cells(j, ActiveCell.Column).Value Then
ActiveSheet.Cells(i, ActiveCell.Column).Interior.ColorIndex = 6
ActiveSheet.Cells(j, ActiveCell.Column).Interior.ColorIndex = 6
End If
Next
End If
Next
End Sub
但し、上記のプログラムでは選択範囲内に結合セルがあるとエラーになってしまいます。
どなたか、解決方法をご教授頂けませんでしょうか?
宜しくお願い致しますm(._.)m
No.2ベストアンサー
- 回答日時:
こんな感じ?
Sub 選択範囲内で同じ値が入力されたセルを調べる_縦()
Dim i As Long
Dim j As Long
If TypeName(Selection) <> "Range" Then Exit Sub
For i = 1 To Selection.Count - 1
For j = Selection.Count To i + 1 Step -1
'同じ値が入力されているセルを黄色にする
If Selection(i).Value = "" Then Exit For
If Selection(i).Value = Selection(j).Value Then
Selection(i).Interior.ColorIndex = 6
Selection(j).Interior.ColorIndex = 6
End If
Next j
Next i
End Sub
hige_082さん、ありがとうございます。
すごい、こんな簡潔なコードで可能だったんですね!
selection(i)という使い方、iやjの設定方法など、とても勉強になりました。ありがとうございましたm(._.)m
No.1
- 回答日時:
よくわかんないけど、対象が選択範囲で、その中にActiveCellと同じ値があれば黄色にするということでいいのでしょうか?
こんな感じ?
Sub test()
Dim rng As Range, c As Range, v
If TypeName(Selection) <> "Range" Then Exit Sub
Set rng = Selection
v = ActiveCell.Value
For Each c In rng
If c.Interior.ColorIndex = 6 Then c.Interior.ColorIndex = xlNone
If c.Value = v Then c.Interior.ColorIndex = 6
Next c
End Sub
fujillinさん、ありがとうございます。
例えばA1からA100までデータが入力されていて、それらの値はすべて違うものであるはず → 同じ値があれば入力ミスなので、それをチェックしたい。というのが目的です。
A1からA100までを選択している状態でプログラムを実行し、A17とA69の値が同じであれば、両方のセルの色を黄色にしたいのです。
説明が下手で申し訳ありません。宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
【Excel VBA】指定行以降をクリ...
-
【Excel】指定したセルの名前で...
-
VBA実行後に元のセルに戻りたい
-
特定のセルが空白だったら、そ...
-
Excel VBA マクロ ある列の最終...
-
vba 隣のセルに値がある行だけ...
-
VBA コピーして次の値まで貼り...
-
VBA初心者です。結合セルを保持...
-
VBAでセルをクリックする回...
-
VBSでエクセル内の行数を取得す...
-
i=cells(Rows.Count, 1)とi=cel...
-
”戻り値”が変化したときに、マ...
-
特定の文字を条件に行挿入とそ...
-
ExcelのVBAで数字と文字列をマ...
-
3桁または4桁の数値を時刻に...
-
Excelのプルダウンで2列分の情...
-
クリックされたセルの位置を取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
Excelで指定した日付から過去の...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
VBA実行後に元のセルに戻りたい
-
特定のセルが空白だったら、そ...
-
【Excel】指定したセルの名前で...
-
”戻り値”が変化したときに、マ...
-
【EXCEL VBA】Range("A:A").Fi...
-
エクセルvbaで、別シートの最下...
-
連続する複数のセル値がすべて0...
-
セル色なしの行一括削除
-
Excel VBA マクロ ある列の最終...
-
VBAでセルをクリックする回...
-
特定の文字を条件に行挿入とそ...
-
Excel vbaで特定の文字以外が入...
-
Excelのプルダウンで2列分の情...
-
VBからEXCELのセルの値を取得す...
-
EXCELで変数をペーストしたい
-
vba 隣のセルに値がある行だけ...
おすすめ情報