[算表] 多檔案取代格式vba問題

看板Office作者 (幸福從來就不屬於惡魔的~)時間12年前 (2013/10/08 23:01), 編輯推噓1(109)
留言10則, 4人參與, 最新討論串1/1
軟體:Excel 版本:2010 因工作需要多張工作表一次取代,故求解以下vba寫法, 但置換其中一欄為06-2013,置換成07-2013, 但轉換則一直跑到日期格式:2013/7/1, 實際以取代功能作業則不會,能否請教以下vba寫法需加入什麼參數, 才能讓格式不會跑掉。 Sub Macro1() Dim nowworkbook As String '檔案名稱 Dim s As String '被取代的字串 Dim d As String '取代過的字串 Dim strFileName As String '讀取的檔案名稱 nowworkbook = Excel.ActiveWorkbook.Name n = 2 strFileName = Cells(n, 1) While strFileName <> "" Workbooks.Open Filename:=Excel.ActiveWorkbook.Path & "\" & strFileName For j = 1 To Sheets.Count Sheets(j).Select i = 2 While Windows(nowworkbook).ActiveSheet.Cells(i, 2) <> "" s = Windows(nowworkbook).ActiveSheet.Cells(i, 2) d = Windows(nowworkbook).ActiveSheet.Cells(i, 3) Cells.Replace What:=s, Replacement:=d i = i + 1 Wend Cells(1, 1).Select Next n = n + 1 strFileName = Sheet1.Cells(n, 1) Wend End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.34.160

10/09 00:12, , 1F
應該是因為sheet 1 裡的實際字串值是 2013/7/1
10/09 00:12, 1F

10/09 00:36, , 2F
而不是看到的07-2013
10/09 00:36, 2F

10/09 00:51, , 3F
→沒有,儲存格確實是呈現05-2013
10/09 00:51, 3F

10/09 00:51, , 4F
numberformatlocal或是format試試
10/09 00:51, 4F

10/09 02:59, , 5F
NumberFormat = "mm-yyyy" 試試
10/09 02:59, 5F

10/09 22:04, , 6F
NumberFormat請問要加在哪一段?
10/09 22:04, 6F

10/09 22:05, , 7F
原本放在d=windows這段後但跑出來竟只有一個儲存格換掉
10/09 22:05, 7F

10/10 02:03, , 8F
我把取代步驟分解,試試:http://ppt.cc/6w61
10/10 02:03, 8F

10/10 06:15, , 9F
抱歉,改了個小錯誤,重傳:http://ppt.cc/vIYm
10/10 06:15, 9F

10/10 06:19, , 10F
沒傳成功的樣子,再傳..http://ppt.cc/3kED
10/10 06:19, 10F
文章代碼(AID): #1IL1vNZW (Office)
文章代碼(AID): #1IL1vNZW (Office)