使用excel VBA显示相邻单元格中单元格值的变化

时间:2015-06-14 12:11:10

标签: excel vba excel-vba

我有一张excel表,通过使用excel vba查找amazon API,显示列中某些项目的价格。价格可能会加班。所以我试图在每次运行我的宏时,在显示价格的单元格附近的单元格中显示价格的差异。 但我不知道如何实现这一目标。任何人都可以指导我如何实现这一目标吗?

3 个答案:

答案 0 :(得分:1)

这样的东西?

我们假设您的数据在A2:A10

范围内
{{1}}

在运行原始宏之前运行此操作,以便在值更改之前将值存储在相邻列中。您可能需要根据需要使范围动态化。

答案 1 :(得分:1)

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

=C1-A1

并复制下来。此宏在刷新数据之前将当前值存储在 C 列中:

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

B 将显示价格差异。

答案 2 :(得分:0)

没有看到你的代码,我无法给出详细的答案。但是,我遇到过类似的问题,虽然不是使用Amazon API,而是使用sharepoint连接。

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

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

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