標題:
請問迴圈問題
[打印本頁]
作者:
gglan9
時間:
2011-8-13 10:58
標題:
請問迴圈問題
本帖最後由 gglan9 於 2011-8-14 04:55 編輯
Sub 迴圈()
'
' 迴圈 Macro
For Each k In Sheets("sheelt1").Range("a:a") '迴圈要連續處理處理sheelt1 A欄的儲存格
Range("D1").Select =k .Value
Application.Run Macro:= "A" '使用原本sheelt1裡的模組A
Next
End Sub
請問我程式碼裡的錯誤要如何才能讓D1的值去重複讀取A欄的值往下
例如: A1到A1000
作者:
oobird
時間:
2011-8-13 12:18
Sub yy()
For Each c In [a:a].SpecialCells(2)
[d1] = c
Next
End Sub
作者:
gglan9
時間:
2011-8-13 12:40
謝謝oobird
但我現在還有一個問題 A模組還是無法執行
請問如何執行A模組
作者:
GBKEE
時間:
2011-8-13 14:10
回復
3#
gglan9
Application.Run Macro:= "sheelt1.A" 使用原本
sheelt1
裡的
巨集名稱
A
Application.Run Macro:= "A" 一般模組的
巨集名稱
A
作者:
gglan9
時間:
2011-8-13 21:56
謝謝兩位大大的回覆
但我現在又有一個問題了
程式碼下
Sub yy()
For Each c In [A:A].SpecialCells(2)
[D1] = c
Application.c Now + TimeValue("00:00:30")
Next
Application.Run Macro:= "A"
End Sub
D1儲存格因連接到其它的工作表單為動態更新外部資料IQY
從A1讀取儲存格時因會出現一個重複迴圈而沒有停駐使查詢沒有傳回資料
請問如何從A1到D1時停駐一段時間後再去執行A2,A3,A4.............到A?儲存格
可用時間設定讓他去延長等待時間嗎?
謝謝
作者:
oobird
時間:
2011-8-13 22:35
例如延10秒:Application.OnTime Now + TimeSerial(0, 0, 10),"Dosomething"
作者:
gglan9
時間:
2011-8-14 00:58
本帖最後由 gglan9 於 2011-8-14 02:02 編輯
我試過
Application.OnTime Now + TimeSerial(0, 0, 10), "Dosomething" '延長等待時間10秒
會顥示無法執行巨集 Excel 會無法關閉 必需強制關閉
謝謝oobird
作者:
gglan9
時間:
2011-8-14 04:35
本帖最後由 gglan9 於 2011-8-14 06:10 編輯
試過
Application.OnTime Now + TimeSerial(0, 0, 10), "Dosomething" '延長等待時間10秒
如果巨集是在活頁簿裡會顥示 無法執行巨集 Excel 會無法關閉 必需強制關閉
======================================================================
而單獨寫成一個巨集可以執行
試過在 迴圈裡讀取此巨集 但D1裡資料會停在A1儲存格 不用強制關閉excel
Application.Run Macro:= "A" 也沒有動作
也不會繼續往下讀取A欄裡的A2,A3,A4.............到A?儲存格
=================================================================
巨集裡的
Sub Time()
Application.OnTime Now + TimeSerial(0, 0, 10), " yy"
End Sub
複製代碼
=================================================================
迴圈裡的
Sub yy()
For Each c In [A:A].SpecialCells(2)
[D1] = c
If c = "" Then Exit For
Application.Run Macro:= "Time"
Next
Application.Run Macro:= "A"
End Sub
複製代碼
請指教謝謝
作者:
oobird
時間:
2011-8-14 10:53
Sub yy()
For Each c In [A:A].SpecialCells(2)
[D1] = c
Application.Run Macro:="A"
t = Timer
Do
DoEvents
Loop Until Timer - t = 2
Next
End Sub
Sub A()
For i = 1 To 1000
[e1] = i
Next
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)