返回列表 上一主題 發帖

[發問] 請修正錯誤的程式碼

[發問] 請修正錯誤的程式碼

本帖最後由 ziv976688 於 2020-12-3 14:34 編輯

測試檔 : 請修正錯誤的程式碼.rar (105.09 KB)

'修改檔案類型---------------------------------   ‘列9
        oPath = ThisWorkbook.Path  '路徑
        A = Dir(oPath & "\*.CSV")
        Do While A <> ""
            Oldname = oPath & "\" & A
            A = Replace(A, "基準日:", "")
            A = "49_期距刪牌_" & A   '新增需求:再將檔案名稱前批改增加 "49_期距刪牌_"
            A = Replace(A, ".csv", ".xls")
            Newname = oPath & "\" & A
             With Workbooks.Open(Oldname)
                .Sheets(1).Name = Replace(A, ".xls", "")
                .SaveAs Filename:=Newname, FileFormat:=xlNormal   '改副檔案名  ‘列20

以上是我在論壇下載的『將檔案名稱前批改增加 "49_期距刪牌_”,並更改副檔案名』的程式碼;
可能是因為原下載測試的CSV檔案名稱格式與目前測試的CSV檔案名稱格式不盡相同,所以目前的VBA主檔無法順利執行^^"

需求︰
EX︰將附件中的6的CSV檔案,一次執行即可將其更改為如(範例)的6個XLS檔案。

請問︰錯誤的程式碼要如何修正?
謝謝!

本帖最後由 ziv976688 於 2020-12-4 00:52 編輯

回復 2# luhpro
謝謝您的不吝賜正。
已經可以順利執行了~感恩::lol

不好意思,是否可以請您將工作表的名稱 "Data",改回如原範例的工作表名稱,
因為實際的檔案很多個,工作表名稱都是 "Data",有些不方便^^"
謝謝您!

還有列43~列56執行無效,請詳見49_期距刪牌_合數排序-空數總覽(0期)-(2020-11-27)(工作表名稱範例)&49_期距刪牌_合數排序-空數總覽(0期)-(2020-12-01)(工作表名稱範例)內之說明~
是否能勞駕您在幫忙看看。再次謝謝您 !

測試檔 : 2020-1204.rar (89.46 KB)

'-抓Data日期=檔案日期,將工作表的第1列號碼指定的字顏和底色------列42
    Set BK = ThisWorkbook
         Set xF = Nothing
    T = Format(Left(Right(A, 15), 10), "yyyy/m/d") & ChrW(160)    '搜尋檔案日期
    Set xF = BK.Sheets("DATA").Range("A:A").Find(T, Lookat:=xlPart)    '搜尋=A欄日期
    If Not xF Is Nothing Then
       For V = 4 To 10
        If xF(1, V) <> "" Then
           [B1:AX1].Find(xF(1, V), Lookat:=xlWhole).Font.ColorIndex = IIf(V = 10, 3, 7)         '將=A欄日期列的第1列的號碼標示字顏
        End If
        If xF(2, V) <> "" Then
           [B1:AX1].Find(xF(2, V), Lookat:=xlWhole).Interior.ColorIndex = IIf(V = 10, 8, 6)   '將=(A欄日期列+1列)的第1列的號碼標示底色
        End If
       Next V
    End If         '列56

TOP

回復 4# n7822123
原來問題是出在工作表名稱自原過多
將字元減至31個,就可以順利執行了
感謝您的賜正

TOP

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題