看板 Office 關於我們 聯絡資訊
軟體: Word Excel 版本: 2007 Q1: 想利用合併列印做商業發票,請益可否用VBA或是其他內建功能方式做下述邏輯 Source Invoice Number / Q / Item / Unit Cost / Amount X0001 5 Sony TV 50" 1,000 5,000 X0002 3 Sony TV 60" 2,000 6,000 X0002 2 Sony TV 50" 1,000 2,000 表單呈現 當合併列印結果選到對應invoice有兩條lines,表單會自動跑出兩行 若是只有發票僅有一行,表單內除第一行外,其他為空值 Q2: 想請問合併列印預設功能中,是否僅為資料讀取。 可以做到手動輸入word表單存檔,excel的source會自動更新儲存嗎? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 66.171.125.38 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1474662165.A.B01.html
neo5277: 2是可以 09/24 21:37
waiter337: 1靠著excel 或者vba 兩者皆可以自行處理 09/28 15:07
waiter337: 但我會建議盡量別用資料庫的sheet來做列印 09/28 15:07
waiter337: 而是另外開一個sheet的頁面,使用vlookup或者3-4種搜尋 09/28 15:08
waiter337: 函數來做成一個新的列印頁面,用到word上反而會更複雜唷 09/28 15:08
waiter337: 還有像是large/small index offset match 09/28 15:16
waiter337: lookup 這些函數,上網,或者在ptt找些排序文章,整合一下 09/28 15:17
waiter337: 基本上就能構出你想要的效果,也不用一直自動篩選 09/28 15:17
waiter337: 完全不用用到vba 當然vba流派會用的話,也並不是很難,但 09/28 15:17
waiter337: 前提是你對語法很習慣這樣 09/28 15:18
waiter337: 因為新的列印頁面,你的列印規格都是固定的,所以以後 09/28 15:22
waiter337: 可能只要打上單號,自動就會跳出你想印的格式,其餘都不 09/28 15:22
waiter337: 用更改 09/28 15:22
waiter337: 其餘資料都會依照你打的單號自動跑出來 09/28 15:23
waiter337: 困難的部份是如何做出能夠分辨的排序 09/28 15:30
waiter337: 就像是你有兩筆x0002 就要多設製一個更多碼的排序來辨 09/28 15:31
waiter337: 認,這樣搜尋出來的就會是兩筆完全不同的資料了呈現了 09/28 15:31
waiter337: 這個排序並不用一開始就多打出來,當然一開始分成好幾個 09/28 15:32
waiter337: 部份是不會卡在一起,但你目前的情況,例用新增的排序也 09/28 15:32
waiter337: 能做出新的排序效果,就能想印哪條就哪條 09/28 15:33
soyoso: 請問這和排序什麼關係呢?應是不重覆唯一值和關聯 09/28 16:11
waiter337: 因為我覺得某些語法實在太高階了,像我菜一點的初心者 09/28 16:54
waiter337: 如果用排序分的一清二楚後會比較簡單一點,像上次S大有 09/28 16:54
waiter337: 處理過一題是要找出相同排名第4的,那s大大靠著神奇的公 09/28 16:55
waiter337: 式就解決那題,但這招我覺得對於像剛接觸公式的人比較不 09/28 16:56
waiter337: 拿手 09/28 16:56
waiter337: 所以先從基礎排序來練功這樣 09/28 16:56
waiter337: #1Ntv1F_P (Office) [ptt.cc] [算表] 自動排序問題 09/28 16:58
waiter337: 像這題這樣 09/28 16:58
soyoso: 抱歉還是不太了解,如回文寫到的x0002要多設一個更多碼的 09/28 17:31
soyoso: 排序來辨認,這樣搜尋出來的就會是兩筆完全不同的資料了 09/28 17:32
soyoso: 和原文寫到要跑出兩行(歸類到x0002)上,似乎又無法理解排 09/28 17:33
soyoso: 序要如何應用了 09/28 17:34
waiter337: 回s大,再利用你最常用的row定位跟offset找出那行的位置 09/28 17:34
waiter337: 這樣 09/28 17:34
waiter337: 就像上面那篇文章的意思0,0 #1Ntv1F_P (Office) 09/28 17:35
waiter337: 順便回報一下,小弟的公司報表當初在學習時,也是嘗試這 09/28 17:37
waiter337: 類的方式做排序出來 09/28 17:37
waiter337: 不過看到s大很神奇,可讓小弟學習神奇的方式,非常感謝 09/28 17:38
soyoso: 不以唯一值關聯(可排序或無排序),而只用所提到的排序,如 09/28 17:39
soyoso: 何全部打單出來呢? 09/28 17:39
waiter337: 因為我懷疑原po的x0002 是由兩份不同的工作表出來 09/28 17:42
waiter337: 的排序,如果是不同的工作表,那排序未來或許可以增加成 09/28 17:42
waiter337: 為 sheet1變成100010002 sheet2變成200010002 09/28 17:43
waiter337: 當然可能要把x0002,改為全部都是數字,譬如x=011,y=012 09/28 17:44
waiter337: 或用英文數字來做修改 x=24 y=25 z=26 09/28 17:46
waiter337: 如果S大有更棒的方式請教教小弟 3Q 09/28 17:47
soyoso: 抱歉能力不足無法理解回文和我問題間的關係 09/28 17:48
soyoso: 並無更棒方式,對excel功能上的理解,只能說我還初學而已 09/28 17:50
waiter337: 小弟在程式上還不足以分辨是非對錯,請包涵 09/28 18:17
soyoso: https://youtu.be/uw4_iU20ZCo 這是union二個工作表表單內 09/28 19:25
soyoso: invoice,再以這個唯一值關連,將歸類輸出 09/28 19:27
soyoso: http://imgur.com/J02u1fT 排序加上迴圈內countif 09/28 20:22
soyoso: 但w大只寫到排序就可達到原文寫到invoice有兩條表單跑兩行 09/28 20:24
soyoso: 有一行,表單內除第一行外,其他為空值,這方面還請w大提 09/28 20:25
soyoso: 供看看 09/28 20:25
waiter337: 我期望的排序是輸出檔案,要輸入篩選則要在設計一些選項 09/28 20:35
waiter337: 或者也會交互使用,但這是比較麻煩但淺白的做法 09/28 20:36
waiter337: 譬如設計日期輸入格子,單號輸入格子,來對兩個工作表 09/28 20:38
waiter337: 篩選出適合的序號,在利用這些序號回傳到設定好的列印頁 09/28 20:39
waiter337: 面上 09/28 20:39
waiter337: 而這些序號則會利用資料的序號位置row值把其他資料一併 09/28 20:40
waiter337: 帶過來到列印頁面 09/28 20:40
soyoso: 上面寫的是合併列印完成與合併內的全部 09/28 21:21