お疲れ様です。pipiでございます。
他のフォームをフォームを呼び出すと、なぜか、オートフィルタによる抽出結果がクリア(消えてしまい)され、
リストボックスに反映されない状態となっております。
何回もコードを見ているいるのですが、どこのコードがおかしいのか・・・・
Private Sub lstCustomer_Click() If lstCustomer.ListIndex = -1 Then Exit Sub Dim DataRange As Range Dim CriteriaRange As Range Dim CopyTo As Range Dim Ws As Worksheet Dim blnUnique As Boolean Set DataRange = Worksheets("売上明細").Range("A1") '検索対象 Set Ws = Worksheets("請求書抽出") '抽出用シート Set CriteriaRange = Ws.Range("A1:O2") '検索条件 Set CopyTo = Ws.Range("K10:Y10") '抽出結果表示範囲 blnUnique = False Ws.Range("A2:O2").ClearContents Ws.Range("N2").Value = "<>1" Ws.Range("B2").Value = ">=" & StartDay Ws.Range("O2").Value = "<=" & EndDay Ws.Range("C2").Value = lstCustomer.Value MyAdvancedFilter DataRange, CriteriaRange, CopyTo, blnUnique End Sub
請求書抽出ボタンをクリックしたときの処理
Private Sub btnMakeBill_Click() If lstCustomer.ListIndex = -1 Then MsgBox "顧客を選択してください" Exit Sub End If Dim DataRange As Range '検索対象 Dim Ws As Worksheet '抽出用シート Dim CriteriaRange As Range '検索条件 Dim CopyToRange As Range '抽出結果 Dim blnUnique As Boolean '重複 Set Ws = Worksheets("請求書抽出") Set DataRange = Worksheets("売上明細").Range("A1") Set CriteriaRange = Ws.Range("A1:O2") Set CopyToRange = Ws.Range("K10:Y10") blnUnique = False Ws.Range("A2:O2").ClearContents Ws.Range("N2").Value = "<>1" Ws.Range("B2").Value = StartDay Ws.Range("O2").Value = EndDay Ws.Range("C2").Value = lstCustomer.Value MyAdvancedFilter DataRange, CriteriaRange, CopyToRange, blnUnique frmBill.Show End Sub
請求書作成ボタンを押した時に呼び出されるフォーム(frmBill)の初期設定
図⑦ 選択された会社の売上や詳細情報が表示されるはずなのですが、なぜか、Excel抽出用シート(請求書抽出シート)を見ると、抽出結果がクリアされているためか、リストボックス内に反映されなくなっている状態です。。。
Private Sub UserForm_Initialize() lblCompany.Caption = GetCampanyInfo() txtDate.Text = Format(Now, "yyyy/m/d") With lstMeisai .ColumnCount = 10 .ColumnWidths = "30;70;30;110;60;50;30;70;60;60" End With With frmBillOption txtCustomerID.Text = .lstCustomer.Value lblCustomerName.Caption = .lstCustomer.List(.lstCustomer.ListIndex, 1) & "御中" lblSpan.Caption = Format(.StartDay, "yyyy年m月d日") & "~" & _ Format(.EndDay, "yyyy年m月d日") End With 'リストボックスに明細データーを表示 Worksheets("請求書抽出").Select Dim i As Integer Dim LastRow As Integer LastRow = Range("K10").End(xlUp).Row With lstMeisai For i = 11 To LastRow .AddItem Cells(i, 12).Value .List(.ListCount - 1, 1) = Cells(i, 13).Value .List(.ListCount - 1, 2) = Cells(i, 16).Value .List(.ListCount - 1, 3) = Cells(i, 17).Value .List(.ListCount - 1, 4) = Format(Cells(i, 18).Value, "#,##0") .List(.ListCount - 1, 5) = Cells(i, 19).Value .List(.ListCount - 1, 6) = Cells(i, 20).Value .List(.ListCount - 1, 7) = Format(Cells(i, 21).Value, "#,##0") .List(.ListCount - 1, 8) = Format(Cells(i, 22).Value, "#,##0") .List(.ListCount - 1, 9) = Format(Cells(i, 23).Value, "#,##0") Next End With End Sub
分かりづらい説明で申し訳ありませんが、ご教授いただけたらと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/01/03 23:34
2016/01/04 03:27