カラムAが空でないかどうかをチェックしなければならないシナリオがあります。もしそうであれば、私はエラーメッセージを投げたい。マクロ内に保存する前に必須フィールドが空でないかどうかを確認します。
私はこれを思いついた。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Dim rngCell As Range
Dim lngLstRow As Long, lngTCols As Long
Dim lngRowCheck(1 To 5) As String
For Each rngCell In Range("A1:A" & lngLstRow)
If Not IsEmpty(rngCell.Value) Then
lngRowCheck(1) = "C"
lngRowCheck(2) = "F"
lngRowCheck(3) = "G"
lngRowCheck(4) = "J"
lngLstRow = ActiveSheet.UsedRange.Rows.Count
For i = 1 To UBound(lngRowCheck)
For Each rngCell In Range(lngRowCheck(i) & "2:" & lngRowCheck(i) & lngLstRow)
If rngCell.Value = 0 Then
MsgBox ("Please enter a name in cell " & rngCell.Address)
rngCell.Select
End If
Next
Next i
Next
End Sub
ただし、これは機能しません。また、保存するたびに検証が行われるのではなく、これもデバッグできません。どんな助け?私は何か間違っているのですか?
なぜあなたは、デバッグすることができませんか? – FunThomas
定義する前にrngCellとlngLstRowを使用する方法は? – jivko
あなたのコードを正しく字下げした後に、おそらく最後の 'Next'の前に' End If'があります。 –