用不用巨集都一樣,答案是:不行
我在A1輸入10,我想帶入的公式是A1x0.5,當我按Enter後,顯是值可以自動變為5
不管任何方法,如果辦得到的話
請問 A1 應該是何值?
1.5
2.2.5 (=A1x0.5=5x0.5)
3.1.25 (=A1x0.5=2.5x0.5)
4.以上皆非
一張工作表有 17,179,869,184 個 cell
為什麼要把「輸入」「公式(輸出)」擠在同一個 cell
動用VBA可以
進EXCEL按ALT+F11,選到左上角的"ThisWorkbook",把下方的程式貼上去
Dim changing As Boolean
Private Sub Workbook_Open()
changing = False
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" And Not changing Then
changing = True
If (IsNumeric(ActiveSheet.Range("A1").Value)) Then
ActiveSheet.Range("A1").Value = ActiveSheet.Range("A1").Value * 0.5
End If
changing = False
End If
End Sub
就像這樣
於是,A1就可以被自己改變了....也不會發生自體死循環
可以考慮改用Application.EnableEvents
屬性
https://docs.microsoft.com/zh-tw/office/vba/api/excel.application.enableevents