
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
エクセルのVBAで集計をしたい
-
vba テキストボックスとリフト...
-
【マクロ】元データと同じお客...
-
【マクロ】【相談】Excelブック...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
【マクロ】【配列】3つのシー...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【マクロ】【画像あり】❶ブック...
-
空白のはずがSUBTOTAL関数でカ...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】【画像あり】4つの...
-
エクセルの複雑なシフト表から...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報