Files
kary_lai/task2/vba_digest/original_vba.txt
louiscklaw 35a0346de1 update,
2025-03-16 01:20:32 +08:00

96 lines
2.0 KiB
Plaintext

Sub 重設表格()
Dim 目前編號 As Integer
Sheets("訂單").Range("D5,D10:E16").ClearContents
目前編號 = Sheets("資料庫").Range("A1").CurrentRegion.End(xlDown).Value
Sheets("訂單").Range("G6").Value = 目前編號 + 1
Sheets("訂單").Range("G7").Value = Date
End Sub
Sub 儲存訂單()
Dim 品項數量 As Integer, 空白列 As Integer
品項數量 = WorksheetFunction.CountA(Sheets("訂單").Range("D10:D16"))
空白列 = Sheets("資料庫").Range("A1").CurrentRegion.End(xlDown).Offset(1, 0).Row
Sheets("訂單").Range("D10:G10").Resize(品項數量).Copy
Sheets("資料庫").Range("D" & 空白列).PasteSpecial xlPasteValues
Sheets("資料庫").Range("A" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("G6").Value
Sheets("資料庫").Range("B" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("G7").Value
Sheets("資料庫").Range("C" & 空白列).Resize(品項數量).Value = Sheets("訂單").Range("D5").Value
Call 重設表格
MsgBox "資料儲存完畢"
End Sub
Sub 查詢訂單()
Dim 訂單編號 As Integer, 訂單位置 As Integer, 品項數量 As Integer
訂單編號 = Sheets("訂單").Range("G6").Value
品項數量 = WorksheetFunction.CountIf(Sheets("資料庫").Range("A:A"), 訂單編號)
Sheets("訂單").Range("D5, D10:E16").ClearContents
If 品項數量 = 0 Then
MsgBox "查無此訂單"
Exit Sub
Else
訂單位置 = WorksheetFunction.Match(訂單編號, Sheets("資料庫").Range("A:A"), 0)
Sheets("資料庫").Range("D" & 訂單位置).Resize(品項數量, 2).Copy
Sheets("訂單").Range("D10").PasteSpecial xlPasteValues
Sheets("訂單").Range("G7").Value = Sheets("資料庫").Range("B" & 訂單位置).Value
Sheets("訂單").Range("D5").Value = Sheets("資料庫").Range("C" & 訂單位置).Value
End If
End Sub
Sub 列印訂單()
Dim 檔名 As String
檔名 = Format(Range("G6").Value, "00000")
Sheets("訂單").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="\\Mac\Home\Downloads\" & 檔名, _
IgnorePrintAreas:=False
End Sub