excel导入外部数据时如何保存历史数据?

遇到的问题是我用excel导入外部数据,链接了一个web查询,但是每次刷新数据后都是在原单元格刷新的数据,请问如何在刷新数据时保存上期历史数据?例如我的的A1为数据连接,如何将A1数据自动保存到B1,然后刷新A1后,数据又到B2保存。谢谢!回答后还有额外赠分!不胜感激!

如下图,在工作表中,A1是你要数据,先把你的数据复制粘贴到B1,在A2中输入1;

然后按ALT+F11,进入VBA编程,双击左边,ThisWorkbook,在右边粘贴下列代码,以后只要你的A1数据一变,就自动会在第2列后续单元格中保存历史数据的,希望能对你有所帮助.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim a, b, c

a = Val(Cells(1, 1).Value)

b = Val(Cells(1, 2).Value)

If a <> b Then

   c = Val(Cells(2, 1).Value)

   Cells(c + 1, 2).Value = Cells(1, 2).Value

   Cells(1, 2).Value = Cells(1, 1).Value

   Cells(2, 1).Value = c + 1

End If

End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-08
Sub Macro1_copy()
'
' Macro1_copy Macro
'

'
Dim ge As String
ge = "a" & Range("f2").Value 'F2格放将要插入的行的行号,
Range("f2").Value = Range("f2").Value + 1 '行号递增
ActiveWorkbook.RefreshAll '刷新

Range("A1").Select '导入数据格
Selection.Copy
Range(ge).Select
ActiveSheet.Paste

End Sub

--------------------
从a1个复制到目标格,你可以做相应的修改,
ok?
第2个回答  2009-05-08
用“宏”伺候,编一个小程序就能搞定
第3个回答  2009-05-08
不知道你的刷新频率是否固定,如果是,那写公式都可以的.
不然写VBA.
第4个回答  2009-05-08
VBA。。。