返回列表 上一主題 發帖

[發問] 複製超級慢問題求救

[發問] 複製超級慢問題求救

本帖最後由 spermbank 於 2015-12-22 23:42 編輯

大家好:

         我想利用"工作表1"的A欄代號至"首頁"及"基本面"搜尋複製(包含原本數值、格式及顏色)相關資料至"工作表1"
         我利用office 2007跑,速度超級慢,起碼要20-30分鐘,可是用office 2010(不同電腦,電腦比較好)跑只要8-10分鐘
         基本上都用office 2007跑,想請教各位大大,這要如何解決(如附件檔案),感謝。

test.rar (395.38 KB)

這是我的程式碼麻煩大大幫我看看,感謝。
  1. Sub Macro1()


  2.     Sheets("工作表1").Select
  3.     x1 = Application.WorksheetFunction.CountA(Range("A:A")) '欄位有值範圍計
  4. '================================================================
  5. '    iStart = Timer
  6. '================================================================
  7.    

  8.     For i = 2 To x1            '利用工作表1A欄代號至首頁、基本面尋找相對代號
  9.         Range("C" & i).Formula = "=MATCH($A" & i & ",首頁!$A$1:$A$3000,)"
  10.     Next
  11.    
  12.    
  13.     Columns("C:C").Select       '將公式轉換成值
  14.     Selection.Copy
  15.     Range("C1").Select
  16.     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  17.         :=False, Transpose:=False
  18.     Application.CutCopyMode = False
  19.     Range("C1").Select




  20.     For i = 2 To x1     '利用工作表1C欄的值,至首頁及基本面捉取相關資料

  21.         GGG = Cells(i, "C")
  22.         Sheets("首頁").Range("F" & GGG & ":" & "P" & GGG).Copy Sheets("工作表1").Range("D" & i & ":" & "N" & i)


  23.         Sheets("基本面").Range("G" & GGG & ":" & "I" & GGG).Copy Sheets("工作表1").Range("O" & i & ":" & "Q" & i)


  24.         Sheets("基本面").Range("D" & GGG & ":" & "E" & GGG).Copy Sheets("工作表1").Range("R" & i & ":" & "S" & i)


  25.         Sheets("基本面").Range("E" & GGG & ":" & "E" & GGG).Copy Sheets("工作表1").Range("T" & i & ":" & "T" & i)


  26.         Sheets("基本面").Range("F" & GGG & ":" & "F" & GGG).Copy Sheets("工作表1").Range("U" & i & ":" & "U" & i)

  27.     Next





  28. '================================================================
  29. '    iEnd = Timer
  30. '    Sheets("工作表1").Select
  31. '    Cells(2, "F") = iEnd - iStart

  32. End Sub
複製代碼

TOP

回復 4# 准提部林

准提部林 您好:

    有沒有辦法不刪除A欄重複代號及重新排列方式下完成呢?
    沒有秀出完整程式,但重複代號及所在位置有其意義,感謝。

TOP

本帖最後由 spermbank 於 2015-12-23 16:23 編輯

回復 6# 准提部林


    准提部林 您好:

     請問一下取區段最小時,工作表1都會標示A至C欄最小為黃底色,這黃底色能夠拿掉嗎??
     因為底色註記,還有其他用途,從程式看不出來怎麼拿掉,感謝。

     另外,我的程式是
     Sub test()
         .
         .(上段程式)(有判斷式子、給儲存格顏色)
         .
         複製部分(中段程式)
         .
         .(下段程式)(同一分頁有運算)
         .
     endsub

     上段程式、中段程式、下段程式都依序處理,這樣子真的會影響複製部分呀,可是我不知道為什麼?

TOP

回復 8# 准提部林

Ok,感謝感謝^^

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題