gpt4 book ai didi

vba - 每十秒重新计算十个单元格

转载 作者:行者123 更新时间:2023-12-04 20:40:57 24 4
gpt4 key购买 nike

我正在尝试将 Google Maps API 用于大约 2,000 个位置。有人告诉我 API 只允许每十秒进行十次计算,因此我们需要 Excel 表来执行此操作。我的代码:

'recalculate cells
Sub Recalculatecells()
Dim irow As Integer
Dim i As Integer
Dim j As Integer


' Worksheets("Sheet2").Active
Range("A1").Select
Selection.End(xlDown).Select
iRow = ActiveCell.Row

Range("N1").Value = irow

For i = 1 To iRow
Range("N" & Str(i)).Formula = "=GetCoordinates(A" & i & ")"
j = j + 1
If j = 10 Then

Application.Wait (Now + TimeValue("00:00:10"))
j = 0
Else
j = j + 1
End If

Next i

End Sub

这目前在线上给出了一个错误:
Range("N" & Str(i)).Formula= "=GetCoordinates(A" & i & ")"  

(注: =getcoordinates 是运行 Maps API 的函数。)

我不知道为什么会出现错误,一旦删除此错误,代码会起作用吗?

最佳答案

Application.OnTime method可以调用它所在的例程。

Sub Recalculatecells()
Application.StatusBar = "Calculating ..."
Worksheets("Sheet2").Range("N1:N10").Calculate
Application.StatusBar = vbNullString
'put something here to optionally exit the timed loop
Application.OnTime Now + TimeSerial(0, 0, 10), "Recalculatecells"
End Sub

我发现这可以让您更自由地处理工作簿,而不是停留在同一个子过程中并使用 For ... Next递增计数器。

关于vba - 每十秒重新计算十个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33661481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com