執行多重VBA程式時的問題
-
2012年3月19日 下午 02:10
本人因工作關係需要執行多重Excel用VBA(內含copy&paste)來跑多個程式(每次約花幾小時),但當中發現程式執行時不能同時運作Word(間歇性停頓)及不能進行copy&paste等文字工作,須知window只能同時單一處理copy&paste,但想請問會否有其他方法解決以上問題?謝謝,待復。
所有回覆
-
2012年3月21日 下午 02:31
修改你的程式碼,不要使用 Copy / Paste
相關討論:
論壇是網友平等互助 保證解答請至 微軟技術支援服務
提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。- 已標示為解答 璉璉MVP, Moderator 2012年3月24日 上午 03:49
-
2012年3月27日 上午 07:33
不好意思,看完你建議的連結卻找不到可解決的方法。如果Excel VBA程式內有copy&paste是否必定不能與其他程式同時執行?現附上我的程式碼望有熱心人可給我建議及改進....謝謝待復
Sub Run_test_1()
'Optimization x2 (total:585) 最佳化(雙參數)Range("S2") = Range("parameter_1")
Range("T2") = Range("parameter_2")Dim cell As Variant
Set mark = Range("area_mark").Find("x")Range("start_mark").Select
If mark Is Nothing Then
Else
r = Application.Match("x", Range("area_mark"), 0)
ActiveCell(r, 1).Select
End IfSet cell = ActiveCell()
I = 1
Do While cell(m + 1, 2) <> "end"
n = I
m = I
cell(n, 1) = "x"
cell(n, 1).Offset(-1, 0).Select
Selection.ClearContents
Range("area2").Select
Selection.Table RowInput:=Range("T2"), ColumnInput:=Range("S2")
Calculate
Range("area2a").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("parameter_1").Select
Selection.Copy
cell(n, 6).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("parameter_2").Select
Selection.Copy
cell(n, 7).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("W2:X2").Select
Selection.Copy
cell(n, 12).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("result").Select
Selection.Copy
cell(n, 14).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
I = I + 1
LoopActiveWorkbook.save
MsgBox "完成"
End Sub
-
2012年3月27日 下午 02:39
系統剪貼簿只有一個,不能多,不能少。
你用到 ActiveXXX 及 Select ,所以目前 Worksheets 必須在前景。
論壇是網友平等互助 保證解答請至 微軟技術支援服務
提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。 -
2012年3月29日 下午 01:55
我經常執行多重excel內的以上VBA程式,但當它們同時執行到copy&paste時便會自動協調而不受扞擾,為何執行其他程式卻出現衝撞?內碼的copy&paste指令可否有其他更好或建議代替呢?請指教....
-
2012年3月29日 下午 04:39
用迴圈去填滿你的資料,就不用 Copy / Paste
targetSheet.Cells(x1, y1) = sourceSheet.Cells(x2, y2)
運氣好或是 Single Process 而非 MultiProcess 。
論壇是網友平等互助 保證解答請至 微軟技術支援服務
提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。 -
2012年3月31日 下午 07:52因我是要每次copy&paste運算列表後的參數代入公式得出結果值,所以不太可能用迴圈復製, anyway感謝你的協助...
-
2012年4月1日 下午 03:43純粹 copy / paste 的,通常可以用樣板來處理,比如說一個公式設好的空白檔案,再把必要資料填入。
論壇是網友平等互助 保證解答請至 微軟技術支援服務
提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

