ユーザーが別のセルに値を入力している場合に、空白のセルに値を入力するように通知する方法

ユーザーが別のセルに値を入力している場合に、空白のセルに値を入力するように通知する方法

Excel ワークシート ここに画像の説明を入力してください

これは、サービス ワーカーの実行時間を計画するために使用しているスプレッドシートの例です。C9&C10からJ9&J10は当日に入力される時間で、技術者はその日の実行を計画する必要があります。 はB11最後のサイトからブランチに戻るのに要する時間です。

私の質問は次のとおりです:C9:J9&範囲 に値が入力されたらC10:J10、Excel でエラー メッセージを表示して、可能であれば B11 の時間を追加するように技術者に促すようにしたいです。

スプレッドシートについて:技術者は、 と の時間を分単位で追加しC9:J9C10:J10これが と の時間に変換されますB9B10次に、これらを合計し、最大 7 時間が に入力されD11、超過時間は F11 に入力されます。

答え1

この VBA サブルーチンを標準モジュールとして使用します。

注意

  • VBAのプロジェクトエクスプローラーでワークシートの名前をダブルクリックし、コピーペーストこのコード。

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not (Application.Intersect(Range("C9:J10"), Target) Is Nothing) Then

  MsgBox "Cell " & Target.Address & " has filled/altered, now enter data into B11.", vbInformation, "Prompting you,,"

  Range("B11").Select
  End If
End Sub
  • 技術者が範囲内にデータを入力/変更し始めるとすぐにC9:J10、セルが入力されたことを示すマクロ ポップ メッセージが表示され、範囲が満たされますB11

必要に応じて、このコード内のセル参照を調整できます。

答え2

マクロを使用する代わりに、メッセージを表示したい場所に次のような数式を配置することもできます。

=If(COUNTA(C9:J10)>1,”Please add the time”,””)

これは、誰かが情報を入力し始めるまで、C9:J10 が空白であると想定します。

関連情報