|
こんにちは。
以下のことをしたいです。
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
|
|