標題:

免費註冊體驗

 

此文章來自奇摩知識+如有不便請留言告知

Excel列印後自動取得數值

發問:

師兄們, 想問問個難題,唔知可否有公式處理到 我設計左張收據 我希望每次列印後,個總金額都可以自動係C1欄位出現 當我刪除資料,再輸入其他資料時,另一個總金額可以自動係C2欄位出現 如此類推 唔知可唔可以咁樣做到架呢?

最佳解答:

可以按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

其他解答:

可以用Excel VBA來解決 之前讀完個課程,課程有教到Excel VBA實用技巧 我覺得導師教得幾好 有免費試睇 由基礎到進階都有 詳細可以參考Excel VBA 程式編寫基礎班 http://www.systematic.com.hk/vba.htm|||||謝謝兩位 收抓非常簡單,有姓名欄,班別欄,重有一個用vba寫既簡單單據編號欄,同埋金額,基本上沒有太複雜的資料於單據上,Sky你第二個方法有點像我這個wo 2012-10-19 00:07:22 補充: 感謝Sky勞苦幫助我找尋解決方法,個故事有點點複雜,如果可以用電郵跟你再溝通一下,我相信你會明白我做緊什麼的一回事,感謝。|||||請問你可否描述一下該張收據的欄, 及列的名稱? 收據上大概會有什麼資料? 例如: 收款日期, 摘要, 付款形式: 如支票 (是否需要輸入支票號, 銀行名等?), 現金, 轉賬及收款金額等, 這才可以清楚地回答得到你的問題. 我以前曾經用函數及結合 Excel 的功能設計過一張收據 (用 Excel 2007), 我亦考慮到為方便 Auditor 核數時容易一覽所有資料, 所以我每次開出的收據都會保存紀錄, 不會 delete 的. 我只需用一個 File 及內裡 2 個 work sheets 就足以選擇編印固定格式但不同資料的收據. 請問你能否延長發問的到期日嗎? 謝謝! 2012-10-16 21:14:30 補充: 漢鍾離: 雖然我不懂得十分複雜的公式, 不過, 以前你為 Zoe 解決 Stock 的問題就曾用過此 Excel 2007 的功能, 只要有創意, 不受規限, 有時是可以不用複雜的公式去解決一個複雜的問題的. 我待網友回覆後, 我嘗試一下可否用函數解決此問題, 如果做不到, 相信你用 VBA 可更有效地幫網友把問題解決的, 因為你是高手呢! 2012-10-18 21:16:15 補充: 我很高興收到你的回覆, 我之前見過漢鍾離為一位網友用 VBA 設計過一個 Stock, 比用函數更方便, 他是一位很喜歡幫助別人解決問題的高手, 你可以集思廣益, 兩種方法都去了解一下, 因為我都很喜歡作多方面的嘗試和研究, 在不同的環境下採用不用的方法去解決問題. 讓我在這一, 兩天內準備好資料, 才回答你的問題, 因為我現時的工作有點忙, 請諒! 2012-10-18 21:19:07 補充: 漢鍾離: 你可以在回答區內回答問題嗎? 讓其他網友容易看到答案, 我是不會計較分數得失的, 我把這裡視作一個練習的地方, 又可以幫助別人. 謝謝您! 2012-10-18 22:02:47 補充: Yu Hang: 1. 請問你的 Case 是不是與學校有關? 2. 班別欄是指一個級別抑或多個級別? 例如: F.1A, F.1B, F.1C, F.2A, F.2B.... F.3A........ 等, 你現時手上的資料合共有多少級? 多少班及各班大概有多少人? 3. 你有沒有固定在那一天編印收據? 即是說, 如果工作量大, 可能是分幾天完成, 所有收據會在同一個月內完成, 不會跨月份嗎? 謝謝您的回覆. 2012-10-19 06:41:46 補充: 你可以按入我的名稱, 再按寫信給他, 你可以把故事再 copy 給漢鍾離嗎? 讓他也可以幫你的忙, 因為他對 VBA 很熟悉, 做收據的公式/程式是一件不複雜的事, 只是花一點時間, 你不需要想得太複雜, 為何你沒有在這裡回覆我設問的問題?|||||此動作, 公式是絕對無法做到, 必須編寫程式, 要用VBA 更複雜的效果亦輕而易舉
arrow
arrow

    utefdxd 發表在 痞客邦 留言(0) 人氣()