10列の標準Excelシートがあります:
たとえば、ユーザーは 100 行まで入力できます。行ごとに 10 列すべてが入力されるようにマクロ/検証を作成したいと考えています。
ユーザーがシートを保存/閉じるときにユーザーにアラートを表示するアプローチが必要です。
10列の標準Excelシートがあります:
たとえば、ユーザーは 100 行まで入力できます。行ごとに 10 列すべてが入力されるようにマクロ/検証を作成したいと考えています。
ユーザーがシートを保存/閉じるときにユーザーにアラートを表示するアプローチが必要です。
OPが長い間なくなっているので、これが誰かに役立つことを願っています。範囲をA1:J1000
必要なセルに変更できます。これは、ワークシートレベルから呼び出していることを前提としています。それ以外の場合は、範囲を明示的に参照する必要があります。
Option Explicit
Sub Validater()
Dim r As Range
Dim numBlanks As Integer
Set r = Range("A1:E10")
numBlanks = WorksheetFunction.CountBlank(r)
If numBlanks > 0 Then
MsgBox "There are " & numBlanks & " empty cells."
End If
End Sub
これが最も基本的な考え方です。これを拡張して、いくつかのワークブック イベントを使用して、保存および/または終了時にこのマクロを呼び出すことができるはずです。
Sub ValidateData()
Dim ws As Worksheet, Rw As Long
Set ws = Sheets("Sheet1") 'the sheet to analyze
For Rw = 1 To ws.UsedRange.Rows.Count
If WorksheetFunction.CountA(Rows(Rw)) <> 0 Then
If WorksheetFunction.CountA(Rows(Rw)) < 10 Then
ws.Activate
ws.Range("A" & Rw).Resize(, 10).Select
MsgBox "This row is incomplete"
Exit Sub
End If
End If
Next Rw
End Sub