ID非公開

2022/5/11 19:29

22回答

お世話になっております。 VBAについてご質問させてください。 B列6行目以降に日付(2022/5/11のような)が入力されています。 基本的には毎日(平日のみ)が並んでいますが、たまに日付の記

Visual Basic | Excel72閲覧

ベストアンサー

1

1人がナイス!しています

平日が祝日を考慮しなくて良いという事であれば以下のようなプログラムの仕方が良いかなと Dim 調査対象セル As Range Set 調査対象セル = Range("B6") For 調査日 = 調査開始日 To 調査終了日 If Not (Weekday(調査日) = 1 Or Weekday(調査日) = 7) Then If 調査対象セル.Value <> 調査日 Then MsgBox 調査日 & "が入力されていません" Else Set 調査対象セル = 調査対象セル.Offset(1, 0) End If End If Next 調査日

ThanksImg質問者からのお礼コメント

思い通りの動作をさせることができました。 ありがとうございました。

お礼日時:5/17 22:46

その他の回答(1件)

0

シートの状態は説明しないと第三者には見えません。 日付は1行ずつ入力されているのでしょうか。 それとも、行や列が結合されているのでしょうか。 意図して設けた空白行はあるのでしょうか。 記入漏れとはどういう状態の事を指すのでしょうか。 要するに空白になっている、ということでしょうか。 回答者が想定するシートの状態と実際のシートの状態が異なれば、 コードを書いても時間と労力の無駄になります。 くどくど説明せずとも、シートの状態をスクショに撮って添付すれば、 そのような無駄を避けられます。

記入漏れが空白を指しているなら、空白セルを探して、その上の日付に1を足せば、空白セルにあるべき日付が求められます。 「VBA 空白セル 選択」でググればやり方が丁寧に説明されたウェブサイトが複数見つかります。