✔ 最佳答案
可以按Alt + F11 用vba做. 要求Excel版本 要係Home 以上
這個vba太簡單, 所以會有一點不太人性化
就係Excel只知道你按了Print, 但不會理會你是否成功列印就直接執行
1) Alt + F11
2) 按Ctrl + R 出現[專案總管]
3) [專案總管] 裹面搵你個活頁簿Workbook既名, Double Click佢.
4) Double Click 會有個白色打字既Window走左出黎.
5) Copy以下Paste落去
6) 如果打收據個Sheet叫[工作表1],
將 { Receipt_Sheet_Name = "" } 改成 { Receipt_Sheet_Name = "工作表1" }
7) 如果資料庫個Sheet叫[工作表2],
將 { Tabel_Sheet_Name = "" } 改成{ Tabel_Sheet_Name = "工作表2" }
8) 如果打收據個格仔係 "C10"
將 { Receipt_Total_Amount_Range = "" } 改成 { Receipt_Total_Amount_Range = "C10" }
9) 如果資料庫個欄係 "C"
將 { Tabel_Total_Amount_Column = "" } 改成 { Tabel_Total_Amount_Column = "" }
做完以上9步之後, 可以試下Print.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Receipt_Sheet_Name = ""
Tabel_Sheet_Name = ""
Receipt_Total_Amount_Range = ""
Tabel_Total_Amount_Column = ""
Set ObjA = Sheets(Receipt_Sheet_Name)
Set ObjB = Sheets(Tabel_Sheet_Name)
Tabel_Total_Amount_Column = UCase(Tabel_Total_Amount_Column)
Tabel_Total_Amount_Column = Asc(Tabel_Total_Amount_Column) - 64
ObjB.Cells(ObjB.Cells.EntireRow.Count, Tabel_Total_Amount_Column).End(xlUp).Offset(1, 0).Value = ObjA.Range(Receipt_Total_Amount_Range).Value
End Sub