| 
    
     |  | コードは次の通りです。 出力するシートを表示した状態でフォームをShowしてください。
 
 '↓フォームの初期化イベント
 Private Sub UserForm_Initialize()
 Dim ActiveSheetName As String
 Dim LastRow As Long
 Dim ItemList As Variant
 
 ActiveSheetName = ActiveSheet.Name
 Application.ScreenUpdating = False
 Worksheets("商品リスト").Select
 ListBox1.ColumnCount = 2
 LastRow = Cells(65536, 1).End(xlUp).Row
 ItemList = Range(Cells(2, 1), Cells(LastRow, 2))
 ListBox1.List = ItemList
 Worksheets(ActiveSheetName).Select
 Application.ScreenUpdating = True
 End Sub
 
 '↓「追加」ボタンの処理
 Private Sub CommandButton追加_Click()
 Dim lngSign   As Long
 lngSign = IIf(CheckBox1.Value, -1, 1)
 
 With ListBox1
 If .ListIndex = -1 Then Exit Sub
 If CheckBox1.Value And Not (WorksheetFunction.SumIf(Columns(1), .Value, Columns(2)) > 0) Then Exit Sub
 Cells(65536, 1).End(xlUp).Offset(1).Resize(, 2).Value _
 = Array(.Value, .List(.ListIndex, 1) * lngSign)
 End With
 End Sub
 
 質問されている内容の直接の回答ではないので、発言にしておきます。
 (それ以前にもうここは見てないのかな?)
 
 |  |