2015-06-14 201 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功能進行復制要快得多。

相關問題