Board logo

標題: vba 自動時間update抓取程式 [打印本頁]

作者: tonycho33    時間: 2011-11-28 10:36     標題: vba 自動時間update抓取程式

請問各位
假設我有一列資料,另一邊是顯示資料(保留3筆),可以設定時間到,就自動消失,後面自動遞補(類似火車時刻畫面)
作者: GBKEE    時間: 2011-11-28 16:31

本帖最後由 GBKEE 於 2011-11-28 16:52 編輯

回復 1# tonycho33
工作表 Sheet1的程式碼
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Range, AR(), i As Integer, N As Variant
  4.     ReDim AR(1, 0)
  5.     For Each E In [C6:C14]
  6.        If [H6] + (1 / 24 * E) > Now Then
  7.             AR(0, UBound(AR, 2)) = E.Offset(, -1)
  8.             AR(1, UBound(AR, 2)) = CDbl([H6] + 1 / 24 * E)
  9.             ReDim Preserve AR(1, UBound(AR, 2) + 1)
  10.        End If
  11.     Next
  12.     [G7].Resize(3, 2) = ""
  13.     If UBound(AR, 2) = 0 Then
  14.         Exit Sub
  15.     Else
  16.         ReDim Preserve AR(1, UBound(AR, 2) - 1)
  17.     End If
  18.     For i = IIf(UBound(AR, 2) >= 1, IIf(UBound(AR, 2) = 1, 1, 2), 0) To 0 Step -1
  19.         N = Application.Small(Application.Index(AR, 2), i + 1)
  20.         N = Application.Match(N, Application.Index(AR, 2), 0) - 1
  21.         [G7].Cells(i + 1, 1) = AR(0, N)
  22.         [G7].Cells(i + 1, 2) = AR(1, N)
  23.     Next
  24.     Application.OnTime Time + #12:01:00 AM#, "SHEET1.Ex"   '1分鐘執行一次
  25. End Sub
複製代碼

作者: tonycho33    時間: 2011-11-28 16:50

你好
執行完後出現
{找不到 巨集 Sheet1.Ex}
另外請問是否可按照B欄順序下來呢
謝謝
作者: GBKEE    時間: 2011-11-28 16:56

回復 3# tonycho33
這是工作表 Sheet1的程式碼

問是否可按照B欄順序下來呢:
For Each E In [C6:C14]     ->   For Each E In Range("B1", Range("B1").End(xlDown))
作者: tonycho33    時間: 2011-11-28 17:07

你好 顯示問題
型態不符合 (錯誤 13)
謝謝
作者: GBKEE    時間: 2011-11-28 17:14

回復 5# tonycho33
型態不符合 (錯誤 13)  這是那一行的錯誤 請附檔才看的到.
如是B欄 需全部是數字
作者: tonycho33    時間: 2011-11-28 17:39

For Each E In Range("B1", Range("B1").End(xlDown))
作者: tonycho33    時間: 2011-11-29 08:10

回復 7# tonycho33
作者: GBKEE    時間: 2011-11-29 08:28

回復 8# tonycho33

預定時間這裡,要輸入日期時間 ,
附檔程式碼 要按照B欄順序下來
需修改為   For Each E In Range("C6", Range("C6").End(xlDown))
作者: tonycho33    時間: 2011-11-29 09:44

回復 9# GBKEE


    你好
照這樣輸入後,好像是按照C欄時間最短的先排,可以按照B欄AA、BB、CC、DD、EE....的順序下來嗎
謝謝
作者: GBKEE    時間: 2011-11-29 10:00

回復 10# tonycho33
1# :另一邊是顯示資料(保留3筆),可以設定時間到,就自動消失,後面自動遞補(類似火車時刻畫面) : 請問我給你程式是有符合此題意嗎?
可以按照B欄AA、BB、CC、DD、EE....的順序下來嗎  :  請你弄個實際範例說明.
作者: tonycho33    時間: 2011-11-29 10:44

回復 11# GBKEE


    你好
不好意思
我的題意是指假設目前時間是10:40
AA  0.2小時
BB   0.1小時
CC  0.3小時
DD  0.4小時

則 AA會先排 然後時間跳到10:40+0.2小時(12分)=10:52
然後 跳到BB 時間10:52+0.1小時(6分)=10:58
然後 跳到CC時間10:58+0.3小時(18分)=11:16
然後 跳到DD時間11:16+0.4小時(24分)=11:40
謝謝
作者: GBKEE    時間: 2011-11-29 11:08

回復 12# tonycho33
可以設定時間到,就自動消失,後面自動遞補 完全是多餘的,
只抓前在4筆資料  用函數 H7=H6+C6*(1/24)  下拉就可以.




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)