• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:とほほのエクセルマクロ)

とほほのエクセルマクロのセンセーショナルなタイトルを生成したい

このQ&Aのポイント
  • エクセルマクロで行数が可変のデータを処理する方法は?
  • エクセルマクロで動的に行数を取得する方法を教えてください
  • エクセルマクロで行数に依存せずにデータ処理を行うには?

質問者が選んだベストアンサー

  • ベストアンサー
  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.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

non-biry
質問者

お礼

こんなに早く返事がくるなんて大変助かります。 ありがとうございます。早速、やってみます。

関連するQ&A