« 予約システム(会議室予約)について考えてみる。(3) | トップページ | [ExcelVBA] 期限が迫っていることを知らせるコード »

2015年5月16日 (土)

予約システム(会議室予約)について考えてみる。(4)

ExcelVBA予約システム~会議室予約編~での工夫(探したり考えたり)した点。

 (1)コンボボックスで、現在時に近い時刻を最初に表示するようにする。

 (2)コンボボックスで、時刻表示(例 9:00など)できるようにする。

 (3)選択する時刻を表示するコンボボックスの表示行数の指定
     ~より多く候補が表示さるようには?

 (4)その他

【参考】コンボボックス指定のコード
With ComboBox1
     .ColumnCount = 1    '表示列数の設定
     .TextColumn = 1     '1列目を選択された値にする
     .BoundColumn = 1    '値として取得する列の設定
     .ColumnWidths = "50"    ' 列幅の設定
     .List = Sheets("master").Range("b6:b" & i).Value
End With

下記は、すべて Userformの Private Sub UserForm_Initialize() で定義。

■(1)コンボボックスで、現在時に近い時刻を最初に表示するようにする。
ima = Format(Now, "hh:nn")  '←今現在の時刻を○:○○形式で取得する。
Sheets("table").Range("b10") = ima '←取得した時刻をセルに代入。
  'B11セルに、=MATCH($B$10,$A$10:$A$107,1) の関数式。
  'B11セル値は、今の時刻に近いリスト上の時刻がある行番号を表示する。

Me.ComboBox2.List = Application.Text(Range("table!A10:A95").Value, "h:mm")
Me.ComboBox2.ListIndex = Sheets("table").Range("b11").Value
  'listを指定してから、ListindexにB11セル値を代入すると、その値が一番上に
  'なって、コンボボックスに表示される。

■(2)コンボボックスで、時刻表示(例 9:00など)できるようにする。
    'http://okwave.jp/qa/q5171411.html ←ココ参照。
'Me.ComboBox2.List = Sheets("table").Range("A10:A95").Value ' ←小数点表示となる。
Me.ComboBox2.List = Application.Text(Range("table!A10:A95").Value, "h:mm") 'OK

■(3)選択する時刻を表示するコンボボックスの表示行数の指定
     ~より多く候補が表示さるようには?
Me.ComboBox2.ListRows = 10

■(4)その他
 ・セル値をUserformのテキストボックスやコンボボックスに代入する場合。
  ~現在の記録されているシート上のデータをユーザーフォーム上に表示する。
TextBox1 = Range("b" & j).Value  '年月日
TextBox2 = Application.Text(Range("e" & j).Value, "h:mm") '開始時間
TextBox3 = Application.Text(Range("f" & j).Value, "h:mm") '終了時間
TextBox5 = Range("h" & j).Value  '使用者名
TextBox6 = Range("i" & j).Value  '備考1
TextBox7 = Range("j" & j).Value  '備考2
TextBox8 = Range("k" & j).Value  '備考3
ComboBox1.Value = Range("d" & j).Value
TextBox10 = Sheets("table").Range("i4").Value
TextBox9.Locked = True  ' 編集不可にする。
TextBox10.Locked = True ' 編集不可にする。


[参考]
VBA予約システム(会議室予約)を考えてみるの その2
http://engi.cocolog-nifty.com/sirenai/2015/02/post-8d1a.html

VBA予約システム(会議室予約)を考えてみるの その3
http://engi.cocolog-nifty.com/sirenai/2015/05/post-491a.html

VBA予約システム(会議室予約)を考えてみるの その4
http://engi.cocolog-nifty.com/sirenai/2015/05/post-5049.html


|

« 予約システム(会議室予約)について考えてみる。(3) | トップページ | [ExcelVBA] 期限が迫っていることを知らせるコード »

「ExcelVBA」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/83128/61598344

この記事へのトラックバック一覧です: 予約システム(会議室予約)について考えてみる。(4):

« 予約システム(会議室予約)について考えてみる。(3) | トップページ | [ExcelVBA] 期限が迫っていることを知らせるコード »