0

我正在使用 VBA 从 PI Server 中提取大量数据。我正在使用以下代码:

**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 Tag 并将时间间隔更改为 5 秒时,它会极大地减慢该过程。

另外,如何myValues在每个完整循环结束时设置为空?这就是我想要做的:

  1. MyValues包含从日期 1 到 2 的数据
  2. MyValues应清除所有 PI 点
  3. MyValues包含从日期 2 到 3 的数据
4

1 回答 1

0

就像是:

Worksheets("Sheet6").Range("B1").Resize(UBound(myValues)+1,1).Value = _
                                       Application.Transpose(myValues)
于 2016-08-26T23:40:39.777 回答