恐れ入ります、エクセルのマクロで質問があります。
ダブリ数字の有無の確認にのマクロについてです。
下記のように数字の羅列が有ります。
上の番号から順番に検索して列の中にダブった数字(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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) 【VBA】A列にある連続したデータの1番下に文字列を入力したい 1 2023/01/28 04:40
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/20 14:46
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT INTOで一度に複数の変数...
-
SELECTした結果に行番号を求めたい
-
複数の条件に該当する結果を、...
-
データの入れ替えを同時に行な...
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
結合したテーブルをSUMしたい
-
VBAでの行数を揃える方法
-
SQLで、Join句で結合したテ...
-
Accessで今日から5日後
-
AccessVBAについて テーブルの...
-
JDBCを使ってdate型へのINSERT...
-
DB、キャストとインサートを...
-
既存データをINSERT文にして出...
-
truncate tableを使って複数の...
-
SQL*LOADER実行時のロードデー...
-
エラーを起こす方法
-
PostgreSQLのtimestamp型で時間...
-
Access 別のDBに対してDlookup...
-
配列データに対する、要素の追...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT INTOで一度に複数の変数...
-
SELECTした結果に行番号を求めたい
-
複数の条件に該当する結果を、...
-
データの入れ替えを同時に行な...
-
UPDATEの更新前の値を取得したい
-
SQL 表の結合
-
副問合せで複数列の値リストの...
-
テーブル間の差分抽出方法は?...
-
複数カラムでdistinct
-
SQLで小数点の計算がしたいです。
-
SQLで任意の列の最大値の定数は...
-
pg/plsqlでのカーソルのLIK...
-
数値を単一引用符で囲むのはど...
-
FETCH した行が取り出せない
-
order by int型の降順(DESC)でn...
-
PLPGSQLでの複数行複数列
-
ダブリ数字の有無の確認にのマ...
-
フラグをたてるってどういうこ...
-
【SQL】他テーブルに含まれる値...
-
sqlに記述できない文字
おすすめ情報