| 
    
     |  | ▼にしもり さん: こんにちは
 
 >これば出退勤表です。
 >D6は開始時間・E6は終了時間です。F6以降の各列には、D6:E6に規定時間内の勤務時間を入力した場合だけ、連続して氏名を入力していきます。
 >その際にフォームを使っています。
 >
 >もうすこし具体的にいいますと、AAなら1、BBなら2・・フォームにと入れます。
 >そして1の場合はAAが,また、2の場合はBBが、スプレッドシート上に色とともに表示されるのです。
 
 AA,BBというのは氏名ですか?
 正直に言いますと、インターフェイスがまずいと思います。
 ちょっと問題のところだけ実行してみたのですが
 ////////////////////////////////////////////////////
 [氏名の番号を下記の対応表に従って入力して下さい]
 AA = 1 : BB = 2 : CC = 3 : DD = 4
 EE = 5 : FF = 6 : GG = 7
 HH = 8 : II = 9 : JJ = 10
 KK = 11 : LL = 12 : MM = 13
 MM1 = 14 : MM2 = 15 : MM3 = 16
 MM4 = 17 : MM5 = 18 : MM6 = 19
 ///////////////////////////////////////////////////////
 のように出てきます。私なら長いので読んで、Keyを打たなければなりません。
 わずかなことですが、結構、億劫です。
 こういう場合は、コンボボックスか、ListとTextBoxを組み合わせて
 Mouseを使った方がユーザーに親切と思います。
 
 新規Bookで、UserFormにComboBoxを1個貼り付けて以下を実行して
 テストしてみて下さい。簡単です。
 こんなこと百も承知ならごめんなさい。
 
 Private Sub UserForm_Initialize()
 Dim NmAry As Variant
 Dim I As Long
 
 NmAry = Array("AA", "BB", "CC", "DD", "EE", _
 "FF", "GG", "HH", "II", "JJ", "KK", "LL", "MM", "MM1", "MM2", "MM3", "MM4", "MM5", "MM6")
 Me.ComboBox1.Style = fmStyleDropDownList
 
 For I = 0 To UBound(NmAry) - 1
 Me.ComboBox1.AddItem NmAry(I)
 Next I
 End Sub
 
 
 |  |