2016-08-26 89 views
0

我使用VBA從PI Server提取大量數據。我使用下面的代碼:使用VBA從PI DataLink提取數據

**Dim myValues As PIValues 

Set myValues = PIMath.GetInterpolatedValues_Point(inputPIPoint, 
    PIMath.StringToPITimeFormat(StartDate), 
    PIMath.StringToPITimeFormat(NextDate), "10s")** 

什麼是複製存儲在MyValues到工作表中的列中的所有值最快的方法?我使用For循環:

For k = 1 To myValues.Count 

Worksheets("Sheet6").Cells(k, 2).value = myValues(k) 

但很明顯放緩的過程中,我使用多個PI標籤和更改時間間隔爲5秒。

另外,如何在每個完整循環結束時將myValues設置爲空?這就是我要做的:

  1. MyValues包含日期從1日至2日
  2. 所有PI點MyValues數據應該被清除
  3. MyValues包含日期從2日的數據,第三

回答

0

喜歡的東西:

Worksheets("Sheet6").Range("B1").Resize(UBound(myValues)+1,1).Value = _ 
             Application.Transpose(myValues)