電子書籍の厳選無料作品が豊富!

Excelについて教えてください。
セルに入力できる時間を制限したいのですが、どうやったらできますか?
入力できる時間は8:30から9:30と20:30から21:30です。
使用環境はExcel 2013です。
よろしくお願い致します。

A 回答 (5件)

No.3です。



No.4さんのお礼欄に
>○が入力できる時間が8:30から9:30の1時間、20:30から21:30の1時間に制限し・・・

すなわち「○」の入力そのものを制限したい!というコトですかね。
VBAになりますが一例です。
↓のコードをシートモジュールにしてください。
尚、対象範囲はA1~E10セルとしています。

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim myTime
 Dim myFlg As Boolean
  myTime = TimeValue(Now())
  '//▼対象範囲を指定!//
  If Intersect(Target, Range("A1:E10")) Is Nothing Or Target.Count > 1 Then Exit Sub '//★//
  With Target
   If .Value = "○" Then
    If myTime >= TimeSerial(8, 30, 0) And myTime <= TimeSerial(9, 30, 0) Or _
     myTime >= TimeSerial(20, 30, 0) And myTime <= TimeSerial(21, 30, 0) Then
      myFlg = True
    End If
     If myFlg = False Then
      MsgBox "【8:30~9:30】及び【20:30~21:30】" & vbCrLf & _
       "の時間帯のみ「○」の入力可!", vbExclamation
      .ClearContents
      .Select
     End If
   End If
  End With
End Sub

※ 対象範囲はコード内の「★」の部分で調整してください。m(_ _)m
    • good
    • 0
この回答へのお礼

tom04さん、無事できました。ありがとうございました。

お礼日時:2020/05/22 16:14

>入力できる時間は8:30から9:30と20:30から21:30です



入力するデータがその時間の範囲なのか、Excelを操作できる時間がその範囲なのか、どちらですか?
また、それ以外はどのようになって欲しいのですか?
    • good
    • 0
この回答へのお礼

失礼しました。8:30から9:30、20:30から21:30の間にExcel上の表に○を入力します。
その○が入力できる時間が8:30から9:30の1時間、20:30から21:30の1時間に制限し、それ以外の時間は入力できないようにしたいです。

お礼日時:2020/05/22 10:01

こんにちは!



入力規則を使ってみてはどうでしょうか?

仮にA列の2行目以降に入力するとします。
A2セル以降入力セルを範囲指定 → メニュー → データ → データの入力規則 → 「すべての値」の右側▼をクリック
→ ユーザー設定 → 数式の欄に
=OR((A2>="8:30"*1)*(A2<="9:30"*1),(A2>="20:30"*1)*(A2<="21:30"*1))

という数式を入れOK!

これでお示しの時間外(文字列も含む)は入力できません。

※ 数式内の「A2」の部分は範囲指定した最初のセル番地にします。m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
入力してみましたがうまく起動してくれませんでした。
入力が間違ってたのでしょうか?

お礼日時:2020/05/22 10:02
    • good
    • 0

こんにちは



思いつく方法としては(他にもあるかも知れませんが)、シートに保護をかけておいてマクロで指定時間帯だけはずすとか。
いろいろな使い方のケースを想定しておかないと、保護が外れたままになったりしそうなので、そのあたりに注意が必要かも知れません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
シートの保護の件も考慮し、試行錯誤してみます。

お礼日時:2020/05/22 10:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!