2015-06-14 183 views
0

我有一张excel表格,它通过使用excel vba查找亚马逊API来显示列中某些项目的价格。价格可能会改变加班。所以我试图在每次运行我的宏时在显示价格的单元格附近的单元格中显示价格差异。 但我不知道如何实现这一点。任何机构可以指导我如何实现这一目标?使用excel VBA显示相邻单元格中单元格值的变化

回答

1

这只是一个示例,它必须适应您的架构和数据布局。假设价格存储在列AA1A100。假设您已经有一个名为的宏,其RefreshData()更新了列A。在B1输入:

=C1-A1 

和复制下来。此宏存储刷新数据之前的电流值在列C

Sub DoUpdate() 
    Range("A1:A100").Copy Range("C1") 
    Call RefreshData 
End Sub 

将显示的价格差异。

1

像这样的东西?

比方说,你的数据是在一个范围内A2:您运行原来的宏存储在相邻列中的值的值更改之前A10

Dim rng as Range 
Set rng = Range("A2:A10") 

rng.Offset(0,1).Value = rng.Value 

运行在此之前。根据您的需要,您可能需要将范围设为动态。

0

没有看到你的代码,我不能给出详细的答案。不过,我曾经遇到类似的问题,但不是使用Amazon API,而是使用SharePoint连接。

如果亚马逊api有点类似于共享点的东西,我猜它会刷新单元格,当你点击“更新”或运行更新子。在这种情况下,您必须创建一个数组来存储vba中的旧价格(非常缓慢的过程),然后将它们写入您的表中,或创建一个单独的选项卡,您可以在其中存储item-lastPrice组合。

我最终不仅存储了当前价格,而且存储了所有价格和价格的日期/时间,以便能够看到随时间变化的情况。

对于使用VBA复制数据本身,以上两种方法都应该有效。在我最初的代码中,我使用了vba loops :-p,但使用excel功能进行复制要快得多。

相关问题