在 Excel 中累積儲存格值

在 Excel 中累積儲存格值

假設我有一個工作簿,在其某些單元格中使用Rand(),並最終在A1.

如何建立包含該儲存格中出現的 100 或 500 個值的記錄(刷新後)?

我猜想可以進行一些 VBA 查找並記錄結果,但我想知道是否有一些內建方法可以做到這一點(也許使用場景或目標尋求或類似的東西)。

答案1

首先包含一個名為的新選項卡歷史 保存結果。然後將下列事件巨集插入原始工作表的工作表程式碼區域:

Private Sub Worksheet_Calculate()
    Dim wf As WorksheetFunction
    Set wf = Application.WorksheetFunction
    Dim hys As Worksheet, N As Long
    Set hys = Sheets("hystory")
    N = hys.Cells(Rows.Count, "A").End(xlUp).Row + 1
    N = wf.Min(N, Rows.Count)
    Application.EnableEvents = False
        hys.Cells(N, "A").Value = [A1]
    Application.EnableEvents = True
End Sub

因為它是工作表程式碼,所以非常容易安裝並自動使用:

  1. 右鍵單擊 Excel 視窗底部附近的選項卡名稱
  2. 選擇查看代碼 - 這將打開一個 VBE 窗口
  3. 將內容貼進去並關閉 VBE 窗口

如果您有任何疑慮,請先在試用工作表上嘗試。

如果儲存工作簿,巨集將隨之儲存。如果您使用的是 2003 年以後的 Excel 版本,則必須將檔案儲存為.xlsm而不是.xlsx

若要刪除巨集:

  1. 如上所示調出 VBE 窗口
  2. 清除程式碼
  3. 關閉VBE視窗

要了解有關巨集的更多信息,請參閱:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解有關事件巨集(工作表程式碼)的更多信息,請參閱:

http://www.mvps.org/dmcritchie/excel/event.htm

必須啟用巨集才能使其工作

答案2

執行此操作的常規方法是複製隨機值,然後貼上值。如果需要,您可以將其錄製為巨集。

相關內容