|
▼RIKE さん:
おはようございます。
>初心者の為よろしくお願いします。
>ユーザーフォームにリストボックスとコマンドボタンがあります。
これは、了解です。
>リストボックスに1行ずつ列AからJのデータを表示し、
>コマンドボタンをクリックするとその行のG列に日付が入り、
>リストボックスに次の行を表示させるループを作りたいのですが、
リストボックスに一行しか表示させないのですか?
だとすると、リストボックスを使うのが無駄なような気がしますが・・・。
>どのような方法がありますか?
>データ
>
> A B ・・・G・・ J
>1名前 住所 ・・ 日付 ・番号
>2HIRO 新宿 ・・ ・ 62
>3JIRO さい ・・ ・ 151
>4TARO いわ ・・ ・ 180
ユーザーフォーム(Userform1)に
リストボックス(Listbox1)とコマンドボタン(Commandbutton1)を配置します。
上記のデータがSheet1という名前のシート上にあるとします。
標準モジュールに
'====================================
sub main()
userform1.show
end sub
Userform1のモジュールに
'================================================================
Private Sub CommandButton1_Click()
With ListBox1
Worksheets("sheet1").Range("a2").Offset(.ListIndex, 6).Value = Date
.List(.ListIndex, 6) = Date
End With
End Sub
'================================================================
Private Sub UserForm_Initialize()
With Worksheets("sheet1")
ListBox1.ColumnCount = 10
ListBox1.List() = .Range("a2", .Cells(.Rows.Count, "a").End(xlUp)).Resize(, 10).Value
End With
End Sub
として、mainを実行してみてください。
・Userform1が表示されます。
・Listbox1にSheet1の内容が表示されます。
・そのListbox1のデータの中からひとつ選択して、コマンドボタン
(Commandbutton1)をクリックしてください。
・選択された行に相当するSheet1内のデータのG列に今日の日付が入ります。
・Listbox1にも日付は反映されます。
・Listbox1の選択行を代えて同様の処理を繰り返すことが出来ます。
リストボックスを使うなら、こういうことでしょうか?
|
|