彰化一整天的論壇

 找回密碼
 立即註冊
搜索
查看: 380|回復: 15

如何讓EXCEL另存新檔後日期固定與自動產生號碼

[複製鏈接]
發表於 2017-3-28 09:37:09 | 顯示全部樓層 |閱讀模式
本帖最後由 luckysan 於 2017-9-18 10:35 編輯

老師 您好

附件是找尋網路上的已建構VBA來套用產生出貨發票
使用上也僅單存KEY IN後新增,也可以另存為單一新的活頁簿
但有個困擾是日期那邊的函數公式是一打開檔案後,就是當日的,若檔案昨天輸入,另存新檔,日期應該停留為昨日;
因為公式的關係會變動,可否在背景VBA下,有甚麼更改設定的方式?

另外一個就是在出貨號碼部分,每次新增就會產生當天的第幾批次出貨號
利如今日3/28, 第一批出貨發票號碼170328-1B (17指的是2017年 0328表示當日輸入日期, 1B 表示第一批,接續當日出貨就是 2B,3B以此類推)
這邊是否能設定含數或是也可以透過被請VBA更改?


***
老師,真的很不好意思,已更正,問題1日期就可以了
不好意思...
謝謝您

2017/9/15 已補上有程式碼的檔案 請查閱

範例.xlsm

31.91 KB, 下載次數: 4

售價: 1 金錢  [記錄]  [購買]

自行編輯版

Basic Invoice.xls

57.5 KB, 下載次數: 1

售價: 1 金錢  [記錄]  [購買]

網路上範本VBA 發票

回復

使用道具 舉報

發表於 2017-3-28 10:15:52 | 顯示全部樓層
您好,
     我沒有看到什麼按鈕及程式碼.還有一次請問一個問題,我每次只會回答一個問題.您一次問了三個.那一個是要我先回答的.
excel_invoice_01.jpg

1.沒有按鈕

excel_invoice_02.jpg

2.沒有程式碼





回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-9-15 11:50:56 | 顯示全部樓層
本帖最後由 luckysan 於 2017-9-15 11:56 編輯

後來我在日期那一欄使用這個含數公式固定了...
=DATE("20"&LEFT(I9,2),MID(I9,3,2),MID(I9,FIND("-",I9)-2,2))
SAVE TO NEW INVOICE BUTTON按下之後會另外產生不具VBA的活頁簿,
KEY好資料後,我會另存新檔,檔名為170915-1B(今天9/15的第1筆(1B即為第1筆,依序累推,2B為第2筆)

我本來是想用檔名來讓新產生的活頁簿存檔後;透過檔名抓取並固定該存檔的新活頁簿建立日期;
但是我不知道怎麼設公式...

回復 支持 反對

使用道具 舉報

發表於 2017-9-15 20:32:41 | 顯示全部樓層
luckysan 發表於 2017-9-15 11:50
後來我在日期那一欄使用這個含數公式固定了...
=DATE("20"&LEFT(I9,2),MID(I9,3,2),MID(I9,FIND("-",I9)-2, ...

請問您這個公式是在那一個儲存格輸入,我執行您的檔案,沒有任何動作出現.
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-9-16 15:42:21 | 顯示全部樓層
imingho 發表於 2017-9-15 20:32
請問您這個公式是在那一個儲存格輸入,我執行您的檔案,沒有任何動作出現. ...

在I10輸入,上面I9隨時會變化; I9欄若我輸入,170928-1B,則I10會跟著顯示Sep-28-2017
回復 支持 反對

使用道具 舉報

發表於 2017-9-18 09:36:00 | 顯示全部樓層
本帖最後由 imingho 於 2017-9-18 09:38 編輯
luckysan 發表於 2017-9-16 15:42
在I10輸入,上面I9隨時會變化; I9欄若我輸入,170928-1B,則I10會跟著顯示Sep-28-2017

您好,
     您給我的程式執竹沒有任何動作也沒訊息,我查看您的程式有使用on error...,這裡是討論的地方,您要寫出您目前的問題,不是把不能執行的檔案上傳給我,也沒有說明任何問題.
excel_20170918_01.jpg

1.on error這一行您要先註解

excel_20170918_02.jpg

2.執行有錯誤才會出現

excel_20170918_03.jpg

3.您是文字,為什麼要+0

回復 支持 反對

使用道具 舉報

發表於 2017-9-18 10:30:06 | 顯示全部樓層
luckysan 發表於 2017-9-15 11:50
後來我在日期那一欄使用這個含數公式固定了...
=DATE("20"&LEFT(I9,2),MID(I9,3,2),MID(I9,FIND("-",I9)-2, ...

您好,
     公式不能做到,只可以利用VBA來解決。
回復 支持 反對

使用道具 舉報

發表於 2017-9-18 10:35:16 | 顯示全部樓層
imingho 發表於 2017-9-18 10:30
您好,
     公式不能做到,只可以利用VBA來解決。

您的日期是固定6碼,可以不用使用find,直接用mid就可以.
excel_20170918_04.jpg

1.修改過的公式

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2017-9-18 10:39:58 | 顯示全部樓層
imingho 發表於 2017-9-18 10:35
您的日期是固定6碼,可以不用使用find,直接用mid就可以.
1.修改過的公式

謝謝老師,我已上傳了VBA INVOICE沒有問題的檔案給您,這是國外VBA學習自由下載的範例檔案; 您幫忙的函數公式修改,我會好好運用,謝謝您的教導!!
回復 支持 反對

使用道具 舉報

發表於 2017-9-18 17:30:14 | 顯示全部樓層
luckysan 發表於 2017-9-18 10:39
謝謝老師,我已上傳了VBA INVOICE沒有問題的檔案給您,這是國外VBA學習自由下載的範例檔案; 您幫忙的函數公 ...

您好,
     我幫您把程式修成您要的功能,您再下載試看看。
excel_20170918_05.jpg

1.執行後的工作表



Basic Invoice.xls

61.5 KB, 下載次數: 2

售價: 2 金錢  [記錄]

回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2017-12-12 14:24 , Processed in 0.046687 second(s), 15 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表