' 重設表單
Sub 重設()

Range("E4").Value = Date

Range("E6:F6").ClearContents
Range("E8:F8").ClearContents
Range("G12").ClearContents
Range("E14:F14").ClearContents

Sheets("表單").Shapes("圖片 5").Visible = msoFalse

End Sub

' 將表單資料記錄到庫存工作表
Sub 儲存()

Dim x As Long
Dim 品名 As String
Dim 行數 As Long

x = WorksheetFunction.CountA(Sheets("庫存").Range("B:B")) + 2
Sheets("庫存").Cells(x, 2).Value = x - 2
Sheets("庫存").Cells(x, 3).Value = Sheets("表單").Range("E4").Value
Sheets("庫存").Cells(x, 4).Value = Sheets("表單").Range("E6").Value
Sheets("庫存").Cells(x, 5).Value = Sheets("表單").Range("E8").Value
Sheets("庫存").Cells(x, 6).Value = Sheets("表單").Range("G12").Value
Sheets("庫存").Cells(x, 7).Value = Sheets("表單").Range("E14").Value
Sheets("庫存").Cells(x, 8).Value = Sheets("表單").Range("E16").Value
Sheets("庫存").Cells(x, 9).Value = Sheets("表單").Range("E18").Value

品名 = Sheets("表單").Range("E8").Value
行數 = WorksheetFunction.Match(品名, Sheets("產品").Range("B3:B9"), 0)

If Sheets("產品").Cells(行數 + 2, 7).Value < Sheets("產品").Cells(行數 + 2, 8).Value Then
MsgBox 品名 & "的存貨不足,請儘速補貨", vbExclamation, "注意"
End If

Call 重設

End Sub

' 商品查詢
Sub 查詢()

Sheets("表單").Shapes("圖片 5").Visible = msoTrue

Sheets("庫存").Range("K5:R100").ClearContents

Sheets("庫存").Range("K3").Value = Sheets("表單").Range("E4").Value
Sheets("庫存").Range("L3").Value = Sheets("表單").Range("E6").Value
Sheets("庫存").Range("M3").Value = Sheets("表單").Range("E8").Value
Sheets("庫存").Range("N3").Value = Sheets("表單").Range("G12").Value

Sheets("庫存").ListObjects("庫存").Range.AdvancedFilter xlFilterCopy, _
Sheets("庫存").Range("K2:N3"), Sheets("庫存").Range("K6:R6"), False

End Sub

' 出入庫滑鼠動作偵測 (寫在表單工作表內)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim x As String
x = Target.Address

If x = "$E$12" Then
    Range("G12").Value = "入庫"
ElseIf x = "$F$12" Then
    Range("G12").Value = "出庫"
End If

End Sub