返回列表 上一主題 發帖

為什麼這個檔案用起來這麼慢.....

回復 3# color790

檔案我是根本開不起來
不過光是你這個程式碼
你要下載所有代碼的資料就必須花費相當長的時間
至於若有其他計算的話
那更不用說肯定會慢的
學海無涯_不恥下問

TOP

原來有降的方法.....太謝謝luhpro的幫忙 ^^
只是很奇怪, 怎這兩個工作頁會降
其中一個工作頁程式碼如下...是哪個部份出錯了嗎?

For i = 3 To Worksheets("代碼").[a65536].End(xlUp).Row
num = Worksheets("代碼").Cells(i, 1)
Worksheets("tmp").Range("A:Z").ClearContents


With Worksheets("tmp").QueryTables.Add(Connection:="URL;http://jsjustweb.jihsun.com.tw/z/zc/zcl/zcl_" & num & ".asp.htm" _
    , Destination:=Worksheets("tmp").Range("A1"))

    .Name = ""
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .WebSelectionType = xlEntirePage
    .WebFormatting = xlWebFormattingNone
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
End With
初學者color

TOP

本帖最後由 luhpro 於 2011-10-26 21:05 編輯

回復 1# color790
檔案讀起來確實很慢,
一般來說若檔案本身並不大所以不應該出現此情形時,
可以考慮將內容全部都搬移到另一個新建立的Excel檔案,
當然不會是整個檔案全部照搬,
那樣問題還是會存在而沒有解決.

我較常使用的方法是 :
1. 分別針對各個 Sheet 執行 -> 移動或複製 -> 將建立副本打勾 -> 目標選新活頁簿 確認此動作的時間是否較長,
以判斷毛病應該是在哪幾個 Sheet 上,
確認後請記得關閉(並選不要儲存)新開的 Excel 活頁簿檔案. (本例中我發現 tmp 與 tmp2 兩個 Sheet 明顯讀取時間過長)

2. 沒問題的 Sheet 直接複製到新的 Excel 檔內.

3. 而對於有問題的 Sheet 則善用 "複製 -> 選擇性貼上",
只複製過來有資料的儲存格及其格式就好(資料與格式共兩次分別貼上, 且應避免選整列或整欄),
沒資料的直接捨棄.

4. 將程式內容文字分別 Copy 到與其相對應的程式區塊內.

最後另存新檔即可.

底下是我依上述方式重做過的檔案,
你看看是否符合你的需求.
123-Rebuild.zip (113.91 KB)

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題