• 締切済み

Excelの入力規則によるプルダウンの選択肢について

 Excelで勤務表を作ろうとしています。  出社時間を入力規則によるプルダウンで選択するようにしようとしていて、リストを0:00から23:45まで15分刻みで作成しています。  このままですと、プルダウンを選択肢た際に0:00から表示されるので、実際の出社時間である9:00前後を選択するためにスクロールさせなければなりません。 選択肢としてはじめに表示されるのを9:00前後のあたりに固定することは可能でしょうか?  ちなみに、まれに変則勤務で3交代というばあいもあるので、深夜の時間帯も選択できるようにしなければなりません。 わかりにくい表現かと思いますので、必要で有れば補足しますのでご質問ください。

みんなの回答

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

(1)手っ取り早いのが、リストの順を  8:00  8:15  8:30  8:45  9:00  9:15  0:00  0:15  0:30   :     のようにすることでしょうか。 (2)『時間』と『分』を別に入力すると少しはスクロール量が減るかもしれません。 (3)いつも通常勤務時刻の9:00近辺を出すのなら、短いマクロで可能です。    勤務表が、日単位か、週か月単位か、週・月単位なら入力は行方向か列方向か不明なので、    出社時刻を入力する範囲に『出社時刻』の名前を付けます。    入力するシートのコードウインドウに下記マクロを貼り付けます。    『未入力の出社時刻を入力するセル』を選択すると強制的に8:00をセットしています。    まれな深夜勤務はスクロールすればいい?    事前に3交代のどれか入力されていれば、それにより強制的に書き換える時刻を変えれば    スクロールの手間はまだ減るでしょう。   ツール→マクロ→Visual Basic Editor でVBE画面に移り、   表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示し、   プロジェクトエクスプローラの出社時刻を入力するシート(Sheet1などの表示)をダブルクリック   出てきたコードウインドに下記マクロを貼り付けます。(Excel97です)    ↓ここから   Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)     '単一セルを選択した場合     If Target.Count = 1 Then       '出社時刻を入れるセルを選択した場合       If Not (Intersect(Range("出社時刻"), Target) Is Nothing) Then         '未入力だったら         If Target.Value = "" Then           '強制的に『8:00』をセットする           Target = "8:00"         End If       End If     End If   End Sub

  • rikkon
  • ベストアンサー率57% (19/33)
回答No.1

リストを0:00から作成されているとの事ですが、これを9:00~8:45までにしてみてはいかがでしょうか? もし9:00前後であれば、8:00~7:45の順序で作成等 他にいい操作あればいいですね。

関連するQ&A