2013年1月23日水曜日

追加課題(1/23)

シート「6月度」(販売一覧)の販売データを入力するプログラムにおいて,キャンセルボタンを押すことで処理を中断できるようにせよ.
Sub 入力()
    Dim hiduke As String
    ActiveWindow.NewWindow
    ActiveWindow.NewWindow
    Windows.Arrange ArrangeStyle:=xlTiled
    Windows("第6章.xlsm:2").Activate
    Sheets("得意先リスト").Select
    Windows("第6章.xlsm:1").Activate
    Sheets("商品リスト").Select
    Windows("第6章.xlsm:3").Activate
    If Range("C6").Value = "" Then
        Range("C6").Select
    Else
        Range("C5").Select
        Selection.End(xlDown).Select
        ActiveCell.Offset(1, 0).Select
    End If
    Do While ActiveCell.Offset(0, -1).Value <> ""
        
        hiduke = InputBox("日付を入力してください" & Chr(13) & "日付入力を終了する場合にはキャンセルボタンを押してください", , , 200, 200)
        If hiduke = "" Then
            MsgBox "入力をキャンセルします(1)"
            Exit Do
        Else
            ActiveCell.FormulaR1C1 = hiduke
            ActiveCell.Offset(O, 1).Range("A1").Select
                
            hiduke = InputBox("得意先コードを入力してください", , , 200, 200)
            If hiduke = "" Then
                MsgBox "入力をキャンセルします(2)"
                Exit Do
            Else
                ActiveCell.FormulaR1C1 = hiduke
                ActiveCell.Offset(O, 2).Range("A1").Select


                hiduke = InputBox("商品コードを入力してください", , , 200, 200)
                If hiduke = "" Then
                    MsgBox "入力をキャンセルします(3)"
                    Exit Do
                Else
                    ActiveCell.FormulaR1C1 = hiduke
                    ActiveCell.Offset(O, 4).Range("A1").Select

                    hiduke = InputBox("数量を入力してください", , , 200, 200)
                    If hiduke = "" Then
                        MsgBox "入力をキャンセルします(4)"
                        Exit Do
                    Else
                        ActiveCell.FormulaR1C1 = hiduke
                        ActiveCell.Offset(1, -7).Range("A1").Select
                    End If
                End If
            End If
        End If
    Loop
    Windows("第6章.xlsm:2").Activate
    ActiveWindow.Close
    Windows("第6章.xlsm:1").Activate
    ActiveWindow.Close
    ActiveWindow.WindowState = xlMaximized
End Sub

0 件のコメント: