標題:
[發問]
多檔案取代格式vba
[打印本頁]
作者:
paddyliu
時間:
2013-10-8 23:09
標題:
多檔案取代格式vba
因工作需要多張工作表一次取代,故求解以下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
作者:
luhpro
時間:
2013-10-13 21:32
本帖最後由 luhpro 於 2013-10-13 21:39 編輯
回復
1#
paddyliu
如果確定欲取代的字串都是在儲存格的開頭的話,
可考慮改成底下這樣試試 : (在最前面加個 ' 強制轉成文字模式)
Cells.Replace What:="06-2013", Replacement:="
'
07-2013"
當然, 若是字串可能出現在中間或尾端那就不適用了.
作者:
genes
時間:
2013-10-17 13:05
回復
1#
paddyliu
加下
Format(2013/7/1, "mm-yyyy")
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)