EXCEL儲存格計算式請教

EXCEL儲存格計算式請教

想請教各位前輩們,一開始A1儲存格空白,B1儲存格數值固定;當我在A1儲存格鍵入一數值,並自動加總B1儲存格數值,顯示在A1儲存格上.

例如: 在A1上鍵入1234,按ENTER後,A1會顯示的數值為1234+124000(B1) = 125234

在此先感謝各位前輩解答!!
2025-06-06 16:07 發佈
文章關鍵字 excel 儲存格
下面是ChatGPT的回答,沒試過能不能用!

可以透過 VBA(Visual Basic for Applications)來達成這個功能,因為 Excel 本身的儲存格公式無法在輸入後直接覆蓋使用者輸入的數值。以下是你可以使用的 VBA 程式碼:

步驟:


  • 在 Excel 中按 Alt + F11 開啟 VBA 編輯器。

  • 在左側選擇你目前的工作表(例如:Sheet1)。

  • 在右側的編輯區貼上以下程式碼:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
If IsNumeric(Target.Value) And Target.Value <> "" Then
Target.Value = Target.Value + Range("B1").Value
End If
Application.EnableEvents = True
End If
End Sub

功能說明:


  • 當你在 A1 輸入任何數值並按 Enter,它會自動加上 B1 的數值,並將結果寫回 A1。

  • 使用 Application.EnableEvents = False 避免程式重複觸發造成錯誤。
這會進入excel 循環參照的死胡同
有其他複雜的解決辦法但不建議
建議拉一輸入欄位C1,然後A1=B1+C1
excel文本內容一旦複雜,循環參照的錯誤要小心
excel查誤起來是會要人命的
去問AI啊

在Excel中,儲存格A1通常是用來輸入數值,無法直接修改自身的數值來顯示計算結果。但你可以使用 VBA(Visual Basic for Applications) 來達成這個效果。以下是方法:

開啟VBA編輯器

按 Alt + F11 開啟VBA編輯器。

在 "ThisWorkbook" 或 "工作表" 模組中插入以下代碼:

vba
Private Sub Worksheet_Change(ByVal Target As Range)
Dim fixedValue As Double
fixedValue = Range("B1").Value

' 確保只針對A1儲存格進行計算
If Not Intersect(Target, Me.Range("A1")) Is Nothing Then
Application.EnableEvents = False
Target.Value = Target.Value + fixedValue
Application.EnableEvents = True
End If
End Sub

啟用代碼

輸入數值到 A1 ,按 Enter 後,它會自動加上 B1 的固定值,並顯示加總結果。

這樣,每次你在 A1 儲存格輸入新數值,它都會自動加上 B1 的數值並顯示結果!

如果你想要其他方式(例如額外儲存格顯示結果),我也可以幫你調整。試試看吧!
sunnyboy308 wrote:
想請教各位前輩們,一...(恕刪)


除非儲存和顯示能分開,要不然沒辦法做到「修改」的情況...

最好還是分成三個欄位... A + B = C
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?