| 
    
     |  | こんにちは。 以下のことをしたいです。
 
 Sheet1のB5以下B31まで人の名前が並んでいます。
 
 いま、userformでcomboboxを作成し、RawsourceにB5:B31とし、一人を選びます。
 次にcomboboxの下にテキストボックスを作成し、たとえば123456という数字をいれます。
 userformのEnterボタンを押すと、Sheet1の、選んだのと同じ名前から始まって右5個offsetしたところ、
 つまり当該行のG列に123456という値を入れます。
 
 そのとき、当該行のG列にはすでに値が埋まってEmptyでない場合があります。
 Emptyでなければさらに右に1個offsetして当該行のH列に123456という値を入れます・・・・
 ということを値が入るまでル―プさせます。
 
 なおuserformにはResetボタンをもうけ、Rawsourceから選んだ名前と、テキストボックスに入れた数字をクリアすることができるようにしたいです。
 
 ここまでやりましたが後が続きません。
 どこをどうるればいいかどなたか是非アドバイスをお願いいたします。
 
 Option Explicit
 
 Public m As Long
 Public n As Long
 Public ws1 As Worksheet
 
 Private Sub ComboBox1_Change()
 
 End Sub
 
 Private Sub CommandButton1_Click()
 
 Me.ComboBox1.rawsource = Worksheets("Sheet1").Range("b5:b31").Address(external:=True)
 Set ws1 = Worksheets("Sheet1")
 
 m = 5
 n = 5
 
 For m = 5 To 31
 If Me.ComboBox1.Value = ws1.Cells(m, n).Value Then
 
 For n = 5 To ws1.Range("G5").End(xlToRight).Column
 If ws1.Cells(m, n).Value = Empty Then
 ws1.Cells(m, n).Value = Me.TextBox1.Value
 End If
 Next n
 
 End If
 Next m
 
 End Sub
 
 Private Sub CommandButton2_Click()
 Me.ComboBox1.Value = False
 Me.TextBox1.Value = False
 End Sub
 
 |  |