Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13502 / 76732 ←次へ | 前へ→

【68733】取得した値をシートに書きこむには
質問  にしもり  - 11/4/12(火) 18:16 -

引用なし
パスワード
   こんにちは。
以下のことをしたいです。

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

0 hits

【68733】取得した値をシートに書きこむには にしもり 11/4/12(火) 18:16 質問
【68734】Re:取得した値をシートに書きこむには UO3 11/4/12(火) 18:39 発言
【68737】Re:取得した値をシートに書きこむには にしもり 11/4/13(水) 12:03 質問
【68738】Re:取得した値をシートに書きこむには にしもり 11/4/13(水) 12:14 発言
【68739】Re:取得した値をシートに書きこむには にしもり 11/4/13(水) 12:30 質問
【68742】Re:取得した値をシートに書きこむには UO3 11/4/13(水) 14:19 質問
【68743】Re:取得した値をシートに書きこむには にしもり 11/4/13(水) 14:51 お礼

13502 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free