如何讓公式在 Mircosoft Excel 的儲存格後台運行並允許使用者輸入資料?

如何讓公式在 Mircosoft Excel 的儲存格後台運行並允許使用者輸入資料?

我正在嘗試建立一個電子表格來編譯多個單元格的資料。

本質上,我希望單元格A1能夠Sheet1反映Sheet2用戶輸入的相同信息,而無需在輸入資料時刪除公式。

我需要使用者能夠將資料輸入到這些儲存格中,但透過使用=Sheet2!A1=Sheet1!A1我建立循環引用,並且還讓使用者可以刪除公式。

誰能推薦解決這個問題的方法?

答案1

您無法在包含公式的儲存格中輸入數據,同時保留公式。

解決方案是讓使用者在不同的儲存格中輸入數據,然後在A1兩個工作表中引用該儲存格。

答案2

沒有宏你就無法做到這一點。這段程式碼應該可以工作:

Private Sub Worksheet_Change(ByVal Target As Range)
    therow = 1
    thecolumn = 1
    Dim wks As Worksheet
    cellrow = Target.Row
    cellcolumn = Target.Column
    If (cellrow = therow And cellcolumn = thecolumn) Then
        Set wks = ThisWorkbook.Worksheets("Sheet2")
        wks.Cells(cellrow, cellcolumn) = Target.Value
    End If
End Sub

ALT用+打開宏F11,雙擊表1並將程式碼貼到右側。該程式碼在 中執行Sheet 1,因此它將變更複製到Sheet1 A1Sheet2 A1

每當工作表發生變更時,都會執行該巨集。它檢查更改的儲存格是否位於第 1 行和第 1 列(儲存格 A1),然後將值複製到表2

如果您想檢查更改表2表1另外,那麼:

  1. 按兩下表2在左側。
  2. 將代碼貼到右側。
  3. 更改該行Set wks = ThisWorkbook.Worksheets("Sheet2")以指示新目的地:Set wks = ThisWorkbook.Worksheets("Sheet1")

現在,這個宏使用變數瑟羅專欄決定將值複製到另一個工作表。一開始,它們在各行中設置為 1 therow=1thecolumn=1這意味著我們對該單元格感興趣A1。並進一步檢查修改後的儲存格是否與行中的這些值相符If (cellrow = therow And cellcolumn = thecolumn) Then

您可以修改這些值以根據您的需求進行自訂,甚至檢查完整的列或行,例如:

將驗證行更改為If (cellcolumn = thecolumn) Then將複製與變數具有相同值的列中發生的更改,thecolumn無論它是哪一行。

其他例子:

將驗證行更改為If (cellcolumn > thecolumn) Then將複製任何大於該值的列中發生的更改,thecolumn無論該行是哪一行。

相關內容