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ランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelのセルを飛ばして入力する
-
Excelのオートフィル
-
別シートからの文字を変更
-
Excel 2019 のピボットテーブル...
-
エクセルの行の抽出について質...
-
【マクロ】エクセルにかいてあ...
-
スプレッドシート クエリ関数 1...
-
エクセルでセルに「氏名を入力...
-
MOS365 Excel Expert / Excel R...
-
excelの不要な行の削除ができな...
-
EXACT関数とIF関数の組み合わせ...
-
スプレッドシートの関数VLOOKUP...
-
Excelで全角を半角にしたいので...
-
Excel初心者です。 詳しい方、...
-
エクセルの数式で教えてください。
-
4つのパターンを表示するEXACT...
-
スマートな関数を教えて下さい。
-
【Excel】セル内の時間帯が特定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報