![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
こんにちは!
一例です。
Sub test()
Dim i As Long
Range("A2:B21").Sort key1:=Cells(2, 1), order1:=xlAscending
Columns("A").Insert
For i = 2 To 21
If WorksheetFunction.CountIf(Columns("B"), Cells(i, "B")) > 1 Then
Range(Cells(i, "B"), Cells(i, "C")).Interior.ColorIndex = 6
Cells(i, "A") = i
Else
Cells(i, "A") = WorksheetFunction.CountA(Columns("B")) + i
End If
Next i
Range("A2:C21").Sort key1:=Cells(2, "A"), order1:=xlAscending
Columns("A").Delete (xlToLeft)
End Sub
こんな感じではどうでしょうか?
コード内にデータとは関係ない列番号「C」が入っていますが、気になれば最後の行
Columns("A").Delete (xlToLeft)
を削除してマクロを試してみてください。
参考になれば良いのですが・・・m(__)m
この回答へのお礼
お礼日時:2011/04/26 11:54
早速の回答ありがとうございました。詳細のコードを記載していだだき感謝です。記載していだだいたVBAをお手本にしてやってみます。ご指導ありがとうございました。
No.2
- 回答日時:
VBAの一例です。
表の範囲を変えるなら、Range("A2:B21") のところを変更してください。
なお、以下のコードは、並び替えのため表の右となりの一列を作業列に使用してますので、表の右となりの一列は空白にして置いてください。
Sub Sample01()
Dim Rng As Range, c As Range, c2 As Range
Dim n As Long, i As Long
Set Rng = Range("A2:B21").Columns
For Each c In Rng(1).Cells
n = 0
For Each c2 In Rng(1).Cells
If c.Value = c2.Value Then
n = n + 1
If n > 1 Then
c.Resize(, 2).Interior.ColorIndex = 6
c2.Resize(, 2).Interior.ColorIndex = 6
i = i + 1
If IsEmpty(c.Offset(, 2)) Then
c.Offset(, 2) = i
End If
If IsEmpty(c2.Offset(, 2)) Then
c2.Offset(, 2) = i
End If
End If
End If
Next c2
Next c
Rng.Resize(, 3).Sort Key1:=Rng(2).Offset(, 1).Cells(1), Order1:=xlAscending, Header:=xlNo
Rng(2).Offset(, 1).ClearContents
End Sub
この回答へのお礼
お礼日時:2011/04/26 11:50
回答、誠にありがとうございました。詳細なコードを記載していただきお手数をおかけしました。コードを参考に勉強します。時間をかけてやってみます。
No.1
- 回答日時:
あまり勉強もしないで丸投げしているようだ。
>列をB列、C列に変更した場合についても教えていただけませんでしょうか
など言っているレベルでは、現状では、VBAは無理でしょう。
VBAを使わないでも、条件付書式で出来るのでは。
A2:A10など範囲指定
書式ー条件付書式ー数式がー式は =COUNTIF($A$2:A2,A2)>1
書式を設定
これで重複する氏名で2番目以後の行に色をつけられる。
ー
上記の操作をマクロの記録で取る方法もある。
ーー
条件付書式を離れて
下記は要素的にはマクロの記録を採れば判る。
(1)セルに色を着ける
(2)黄色とかの色指定
(3)並べ替え
ただし重複チェックはエクセルの操作ではない。上記のように関数では出来る。これを関数を使わず、VBAプログラムでやるのは、VBAでも中級以上のレベルでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 条件付き書式の色付きセルのカウント方法について 2 2022/10/21 14:51
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのクイックアクセスツ...
-
エクセルでCtrl+Tでテーブルの...
-
DATE関数で現在の年齢を出した...
-
Excelで表を作ったところに文字...
-
エクセルのクイックアクセスツ...
-
在庫管理表に使うエクセルの関...
-
ユーザー定義関数をアドイン登...
-
職場の人から聞かれており、こ...
-
REGEXREPLACE関数について、
-
エクセルでバーコード作成し使...
-
下記マクロでMsgBox "空白です...
-
Excel関数-文字列で自動作成さ...
-
エクセルで表
-
【マクロ】for next構文について
-
エクセルの関数について教えて...
-
Excelデータをコピペして、ペー...
-
エクセルで特定の範囲内から小...
-
PDFの請求明細をエクセルにしたい
-
Excelで50個のセルに同じ文字を...
-
エクセルで会社の従業員のデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報