|
一部、間違って解釈していた箇所があったので、再度投稿します
>今、Listviewを使って、マクロを作成しています
>
>LISTシートのデータをListViewに表示させるようにして、
>チェックボックスもつけてあります
>
>やりたい事がうまくできず困っています
>
>ユーザーフォームに
>textBox1 (任意の日付)
>CommandButton1 (更新ボタン)
>ListView1
>が存在します
>
>【やりたいこと】
>日付入力したい行のチェックボックスにチェックをつけます
>そのときチェックは複数つきます
>
>次に、ユーザーフォーム上にあるtextBox1に日付を入力
>CommandButton1をクリックすると、チェックした行すべてに日付が入力され、
>ListViewに表示される
>
>といった、マクロを作りたいのですが、うまくいきません
>
>今は下記のように記述してあります
>
>Private Sub UserForm_Initialize()
>With ListView1
> .View = lvwReport ''表示
> .LabelEdit = lvwManual ''ラベルの編集
> .HideSelection = False ''選択の自動解除
> .AllowColumnReorder = True ''列幅の変更を許可
> .FullRowSelect = True ''行全体を選択
> ListView1.CheckBoxes = True ''チェックボックス設定
> .Gridlines = True ''グリッド線
>
> .ColumnHeaders.Add 1, "_PN", "なまえ"
> .ColumnHeaders.Add 2, "_CODE", "こーど"
> .ColumnHeaders.Add 3, "_DATE", "日付"
>
> End With
>
> For i = 4 To Range("A" & Rows.Count).End(xlUp).Row
> With ListView1
> With .ListItems.Add
> .Text = Range("A" & i).Value
> .SubItems(1) = Range("F" & i).Value
> .SubItems(2) = Range("G" & i).Value
> End With
> End With
> Next i
>
>end Sub
>
>Private Sub CommandButton1_Click()
> Dim i As Integer
> Dim MyItem As String
>
> MyItem = ""
>
>'とりあえず、テストでチェックしたアイテムが順番に取得できるか?
>テストしてみました。でも、下記の記述では一番目のアイテムは取得できるけど、
>2個目からは取得できてませんでした
↑チェックボックスを取得していませんでした、
勘違いでした
行を選択したところを取得していました
チェックボックスのチェックした箇所の取得がうまくいきません・・・
CheckedItems というものを使うところまでは分かったのですが、それでも、うまくいかないです
>
>’実際には、ココで、テキストボックスに入れた日付をListシートにも反映させて、ListViewに結果を表示させたいと思っています
>
> With ListView1
> For i = 1 To .ListItems.Count
> If .ListItems(i).Selected Then
> MyItem = MyItem + .ListItems(i).Text + vbCrLf
> End If
> Next i
> End With
>
> MsgBox MyItem
>
>End Sub
>
>どうか、よきアドバイスをお願いいたします
|
|