-1

10列の標準Excelシートがあります:

たとえば、ユーザーは 100 行まで入力できます。行ごとに 10 列すべてが入力されるようにマクロ/検証を作成したいと考えています。

ユーザーがシートを保存/閉じるときにユーザーにアラートを表示するアプローチが必要です。

4

2 に答える 2

1

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
于 2012-07-27T18:48:19.733 に答える
1

これが最も基本的な考え方です。これを拡張して、いくつかのワークブック イベントを使用して、保存および/または終了時にこのマクロを呼び出すことができるはずです。

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
于 2012-05-11T18:35:36.357 に答える