- ベストアンサー
とほほのエクセルマクロのセンセーショナルなタイトルを生成したい
- エクセルマクロで行数が可変のデータを処理する方法は?
- エクセルマクロで動的に行数を取得する方法を教えてください
- エクセルマクロで行数に依存せずにデータ処理を行うには?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 VBEのコードエディタの画面を出して、 次のコードを標準モジュールに貼り付けてください。 D列の1行目から、最後の行のひとつ上の行までを検査して、 最後の行のセルと同じデータが何件あるか数えるマクロです。 とくに、ソートをかける必要はありません。 あくまでも検査内容は「D列最後の行」にあるデータと比較して、 同じ内容のデータがD列に何個あるかです。 データ全体に、重複データがあるかどうかを検査するものではないので、 誤解しないようにしてください。 なお、「Const lngCol As Long = 4」の行が、D列で検査することを示しています。 Option Explicit Sub test() Const lngCol As Long = 4 'D列 Dim lngMaxRow As Long Dim lngCount As Long Dim i As Long Dim strValue As String '指定列のデータの最終行を取得 lngMaxRow = Cells(ActiveSheet.Rows.Count, lngCol).End(xlUp).Row If lngMaxRow = 1 Then Exit Sub '最終行の入力内容を取得 strValue = Cells(lngMaxRow, lngCol).Value '1行目から最終-1行目まで、同じデータがあったらカウント For i = 1 To lngMaxRow - 1 If Cells(i, lngCol).Value = strValue Then lngCount = lngCount + 1 End If Next i 'カウント数の表示 Select Case lngCount Case Is = 0 MsgBox "最終行のデータと同一データは、見つかりませんでした" Case Else MsgBox "最終行のデータと同一データは、 " & lngCount & " 件です。" End Select End Sub
お礼
こんなに早く返事がくるなんて大変助かります。 ありがとうございます。早速、やってみます。