返回列表 上一主題 發帖

[發問] 揀選名稱中有【均值】的檔案之語法。

[發問] 揀選名稱中有【均值】的檔案之語法。

本帖最後由 Airman 於 2019-6-1 05:01 編輯

測試檔0601.rar (38 KB)
均值主檔的程式碼和其它主檔的程式碼的差別只在︰
均值為有執行 列12~列15的程式碼
其它為不執行 列12~列15的程式碼

在多種檔案名稱中~
當名稱中有均值二個文字的檔案,其[B1:BK1]必須移除,再重新由B1往右填入1~49的數字。
EX︰今日總表(均值排序)-1_9-(基準日:2019-05-31);空數總覽(均值排序)-(基準日:2019-05-31);機數總覽(均值排序)-(基準日:2019-05-31)
當名稱中沒有均值二個文字的檔案,其[B1:AX1]都是數字,只要更改數字格式即可。
EX︰今日總表(合數排序)-1_9-(基準日:2019-05-31);空數總覽(生肖排序)-(基準日:2019-05-31);機數總覽(八卦排序)-(基準日:2019-05-31)
所以必須以均值主檔來執行名稱中有均值的.csv檔案更改為.xls檔案;再以其它主檔來執行名稱中無均值的.csv檔案更改為.xls檔案。

因為每一期都必須由882個檔案中,挑出147個名稱中有均值的檔案,分開執行檔案類型更改~覺得很麻煩~
所以希望能將均值和其它二個主檔合併,而列12~列15的程式碼可以揀選名稱中有均值的檔案才執行。
請問︰上述二個主檔合併後,而列12~列15的程式碼可以揀選名稱中有均值的檔案才執行的需求的之語法?
懇請各位先進惠予賜教!謝謝!

回復 14# 准提部林
准提版主 :
這一題可不可以請你幫我看一下
http://forum.twbts.com/thread-21810-1-1.html
謝謝你 !

TOP

回復 14# 准提部林
准大 :
謝謝您的耐心賜教~
OK了~感恩^^

TOP

本帖最後由 Airman 於 2019-6-2 16:29 編輯

回復 13# Scott090
Scott090大大 :
謝謝您的耐心賜正~
OK了~感恩^^

TOP

回復 12# Airman


       .Sheets(1).Name = A  '加這一行
       .SaveAs Filename:=P & "\" & A & ".xls", FileFormat:=xlNormal, CreateBackup:=False
       .Close 0

TOP

回復 11# Airman

      承9#:
      猜測 檔名 變數 A 內的字串型態可能是:
       沒有"均值"二字:                     "?????????????"  或
       僅有"均值"二字沒有再重複: "?????均值?????"
       假如是這樣,請用:   
      If  instr(A,"均值")<>0  Then
            [B1:BK1].Clear
            For j = 1 To 49         '均值
                Cells(1, j + 1) = j
            Next
          End If

TOP

回復 6# 准提部林
准大 :
測試結果 :   均值.rar (23.3 KB)
因為工作表名稱變成復原Sheet1(不是=檔案名稱),自行試了半天~無法處理^^"
敬請賜正~謝謝您^^

TOP

本帖最後由 Airman 於 2019-6-2 11:41 編輯

回復 7# Scott090
回復 9# Airman
修正筆誤~
目前以下列的程式碼=無論檔案名稱內有或沒有均值的文字,全部都有執行藍色字的程式碼。

TOP

回復 8# 准提部林
准大 ;
不好意思~以為這樣會比較簡明^^"
謝謝您的建議!

規則如1樓的說明,但好像太冗長^^

TOP

本帖最後由 Airman 於 2019-6-2 11:18 編輯

回復 7# Scott090
Scott090大大 :
測試報告:   
咖啡色字=新增的貴解程式碼
藍色字=選擇性執行的程式碼
需求=檔案名稱有均值時,則執行藍色字的程式碼;如果檔案名稱內沒有均值時,就跳過藍色字的程式碼(即不執行)。
目前以下列的程式碼=無論檔案名稱內沒有或沒有均值的文字,全部都有執行藍色字的程式碼。
請問 : 要如何修正?
謝謝您^^

    Sub Ex()
        Dim Path As String, A As String, j%
        Path = ThisWorkbook.Path  '請修改為你的資料夾
        A = Dir(Path & "\*.CSV")
        Do While A <> ""
            Name Path & "\" & A As Path & "\" & Replace(A, "基準日:", "")
            A = Replace(A, "基準日:", "")
             With Workbooks.Open(Path & "\" & A)
                 .SaveAs Filename:=Path & "\" & Replace(A, ".csv", ".xls"), FileFormat:=xlNormal
           
          If UBound(Split("???均值均值???", "均值")) > 1 Then
            [B1:BK1].Clear
            For j = 1 To 49         '均值
                Cells(1, j + 1) = j
            Next

          End If

                With [B1:AX1]
                    .Font.Bold = True
                    .Font.Size = 14
                    .NumberFormatLocal = "00"
                    .Font.ColorIndex = 5
                End With
                    
                    Columns("A:AX").Font.Name = "Arial"
                    Columns("A:AX").HorizontalAlignment = xlCenter
                    Columns("A:AX").EntireColumn.AutoFit
                    [B2].Select
                    ActiveWindow.FreezePanes = True
                    ActiveWindow.Zoom = 75
                 
                 .Close True
             End With
            Kill Path & "\" & A
            A = Dir
        Loop
    End Sub

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題