恐れ入ります、エクセルのマクロで質問があります。
ダブリ数字の有無の確認にのマクロについてです。
下記のように数字の羅列が有ります。
上の番号から順番に検索して列の中にダブった数字(2つ以上)が無いかを確認するマクロはどのように作成すればいいでしょうか?
下記の場合、238075と238220が2以上つあるので、そこが緑色になるようにしたいです。
宜しくお願い致します。
238075
238096
238220
92528
237702
92378
237662
238077
238063
238065
238208
92523
238205
238253
237702
238220
237708
238075
No.2ベストアンサー
- 回答日時:
一例です。
Sub test03()
Dim myRange As Range
Dim c As Range
Set myRange = Range("A1", Cells(Rows.Count, "A").End(xlUp))
For Each c In myRange
If Application.WorksheetFunction.CountIf(myRange, c.Value) > 1 Then
c.Interior.ColorIndex = 10
End If
Next c
Set myRange = Nothing
End Sub
ありがとうございます!
これこそが欲しかったマクロでした。
本当になんでこんなにマクロが素早く正確にかけるのか!?羨ましくて仕方ないです。
きっと仕事がバリバリものすごくできる方なのでしょうね。
No.3
- 回答日時:
#2です。
おそらく、前回の質問の続きですよね。
http://oshiete1.goo.ne.jp/qa5798289.html
改めて、2パターン作ってみました。
test04: #2のコードを素直に組み込むんだものです。
理解しやすい反面、2度ループを回すので無駄です。
test05: 前回の質問の処理の中で、だぶりを判定し色づけします。
Sub test05()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim myRange1 As Range
Dim myRange2 As Range
Dim myUnionRange As Range
Dim c1 As Range
Dim c2 As Range
Dim myCt As Long
Set Ws1 = Worksheets("Sheet1")
Set Ws2 = Worksheets("Sheet2")
Set myRange1 = Ws1.Range("A1", Ws1.Cells(Rows.Count, "A").End(xlUp))
Set myRange2 = Ws2.Range("A1", Ws2.Cells(Rows.Count, "A").End(xlUp))
For Each c1 In myRange1
myCt = 0
Set myUnionRange = Nothing
For Each c2 In myRange2
If c2.Value = c1.Value Then
If c2.Offset(, 1).Value = "" Then
c1.Offset(, 1).Interior.ColorIndex = 3
Else
c1.Offset(, 1).Value = c2.Offset(, 1).Value
End If
If myUnionRange Is Nothing Then
Set myUnionRange = c2
Else
Set myUnionRange = Union(c2, myUnionRange)
End If
myCt = myCt + 1
End If
Next c2
If myCt > 1 Then
c1.Offset(, 1).Interior.ColorIndex = 10
myUnionRange.Interior.ColorIndex = 10
End If
Next c1
Set Ws1 = Nothing
Set Ws2 = Nothing
Set myRange1 = Nothing
Set myRange2 = Nothing
Set myUnionRange = Nothing
End Sub
'---------------------------------------------------------
Sub test04()
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Dim myRange1 As Range
Dim myRange2 As Range
Dim c1 As Range
Dim c2 As Range
Dim myCt As Long
Set Ws1 = Worksheets("Sheet1")
Set Ws2 = Worksheets("Sheet2")
Set myRange1 = Ws1.Range("A1", Ws1.Cells(Rows.Count, "A").End(xlUp))
Set myRange2 = Ws2.Range("A1", Ws2.Cells(Rows.Count, "A").End(xlUp))
For Each c1 In myRange1
myCt = 0
For Each c2 In myRange2
If c2.Value = c1.Value Then
If c2.Offset(, 1).Value = "" Then
c1.Offset(, 1).Interior.ColorIndex = 3
Else
c1.Offset(, 1).Value = c2.Offset(, 1).Value
End If
myCt = myCt + 1
End If
Next c2
If myCt > 1 Then c1.Offset(, 1).Interior.ColorIndex = 10
Next c1
For Each c2 In myRange2
If Application.WorksheetFunction.CountIf(myRange2, c2.Value) > 1 Then
c2.Interior.ColorIndex = 10
End If
Next c2
Set Ws1 = Nothing
Set Ws2 = Nothing
Set myRange1 = Nothing
Set myRange2 = Nothing
End Sub
No.1
- 回答日時:
こんばんは!
VBAでないので、参考にならなかったら無視してください。
単純に条件付書式を使った方法です。
↓の画像のようにA列にデータが入っているとします。
当方使用のExcel2003の場合ですが、
A列全てを範囲指定し、条件付書式の「数式が」を選択し
数式欄に
=COUNTIF(A:A,A1)>1
として緑を選択しています。
以上、的外れなら読み流してくださいね。m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT INTOで一度に複数の変数...
-
SELECTした結果に行番号を求めたい
-
複数カラムでdistinct
-
oleDBでnumeric形式の小数部分...
-
UPDATEの更新前の値を取得したい
-
フラグをたてるってどういうこ...
-
【SQL】他テーブルに含まれる値...
-
sqlに記述できない文字
-
既存データをINSERT文にして出...
-
UPDATEで既存のレコードに文字...
-
右向き、左向きの速度が最大と...
-
オラクルのUPDATEで複数テーブル
-
AccessからOracle DB(View)を...
-
truncate tableを使って複数の...
-
全テーブルの列数を調査したい
-
実行時エラー:2517 プロシージ...
-
同一テーブル内での比較(最新...
-
SQLで、Join句で結合したテ...
-
SELECT文で足し算をした場合、N...
-
SELECT の仕方 (今月のデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT INTOで一度に複数の変数...
-
SELECTした結果に行番号を求めたい
-
データの入れ替えを同時に行な...
-
複数の条件に該当する結果を、...
-
SQLで任意の列の最大値の定数は...
-
UPDATEの更新前の値を取得したい
-
SQLで小数点の計算がしたいです。
-
複雑なUPDATE文2
-
pg/plsqlでのカーソルのLIK...
-
Pro*CでのSQL文について
-
副問合せで複数列の値リストの...
-
Postgreが重いです
-
PLPGSQLでの複数行複数列
-
数値を単一引用符で囲むのはど...
-
SQL 表の結合
-
この切り絵の元絵あれば下さい…!
-
パターンマッチング
-
フラグをたてるってどういうこ...
-
【SQL】他テーブルに含まれる値...
-
sqlに記述できない文字
おすすめ情報