Vba 如何定期运行excel宏并将更新的数据粘贴到新列中
我目前有一个Vba 如何定期运行excel宏并将更新的数据粘贴到新列中,vba,excel,Vba,Excel,我目前有一个API输入我的excel,它从URL下载股票价格。列A2:A194是公司名称,B2:B194是对应的股票价格 我想创建一个宏,它每5分钟运行一次,获取新的价格并粘贴到相邻的列中 这就是我迄今为止所能做到的: [Sub GetPrice() ' ' GetPrice Macro ' ' Keyboard Shortcut: Ctrl+q ' ActiveWorkbook.RefreshAll ActiveCell.Offset(0
API
输入我的excel
,它从URL
下载股票价格。列A2:A194
是公司名称,B2:B194
是对应的股票价格
我想创建一个宏
,它每5分钟运行一次,获取新的价格并粘贴到相邻的列中
这就是我迄今为止所能做到的:
[Sub GetPrice()
'
' GetPrice Macro
'
' Keyboard Shortcut: Ctrl+q
'
ActiveWorkbook.RefreshAll
ActiveCell.Offset(0, -1).Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(-1, 0).Range("A1").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=NOW()"
ActiveCell.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, 0).Range("A1").Select
Application.CutCopyMode = False
ActiveCell.Offset(0, 1).Range("A1").Select
Application.OnTime Now + TimeValue("00:05:00"), "GetPrice"
End Sub]
此宏从上一列中提取数据,而不是从B2:B194
中提取数据。我如何更改相同的设置
例如:在1小时结束时,我希望14列有数据:原始的2+12列,每5分钟获取一次价格 与上一篇专栏文章的内容相同。这是因为您使用的是偏移量,而不是声明要专门使用哪些列。如果你知道会是:
Sheet1.范围(“B2:B194”)
然后只需编辑定义该零件的宏
宏是了解代码中发生了什么的一个很好的方法,但是我总是编辑它们以提高效率或者更容易阅读。主要是因为很多宏都依赖于用户不断单击和激活单元格,这对于在某处插入值或执行函数来说是不必要的。你也可以很快看到背景中发生的一切,看起来很可疑 因此,要每5分钟执行一次脚本,请检查