非連続範囲が入力された場合に検証するマクロを作成し、値を含む最後の行の後に空の行を削除しようとしています。上記画像における不連続範囲に値が含まれているかどうかを検証するVBA
、カラムA、D、G、H、私は必須フィールドです。 1つの値が含まれている場合、残りの必須フィールドには値も含まれていなければなりません。緑色の強調表示されたセルは、入力を検証するための入力の例ですが、AとGの値が入力されないと黄色は失敗する必要があります。
私は以下試してみた:
Sub Validate()
Dim Cell As Range
For Each Cell In Union(Range("A2:A3"), Range("D2:D3"), Range("G2:G3"), Range("H2:H3"), Range("I2:I3"))
If IsEmpty(Cell) Then
MsgBox ("Error: All mandatory fields must be filled out") 'actions To Do If True
End If
Next
End Sub
問題は、行の数は、ユーザが情報を入力し、彼らは、彼らが空白行の残りの部分を残して完了したら毎回異なるものになるということです。私は、VBAとコーディング全般をかなり新しくしているので、どのように進むべきかについてはあまりよく分かりません。これらの必須フィールドをチェックし、空の行に出会ったら停止してトリックを行うようなループを期待していますが、もう一度コード化についてはあまり知らないです。
以下に示す空の行を削除するVBAが見つかりましたが、検証が完了した後にその実行が必要です。
残念ながら、コードサンプルツールは協力していなかったので、Imageを追加しました。
わからないことがあれば、私に知らせてください。すべての助けが大歓迎です!
したがって、行A、D、G、HまたはIのいずれかにエントリがある場合は、すべてにエントリが必要ですか?他の列にデータがありますか? – SJR
A、D、G、HまたはI列のいずれかに項目がある場合は、すべてが入力されている必要があります。列B、C、E、F、J、またはKの値もありますが、必須ではありません。 Kは値を含む最後の列になります。 – JC3