'===== 以下程式放在 Sheet1 =====
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iI As Integer, iRow As Integer
iRow = ActiveSheet.Cells(2, 2).End(xlDown).Row
For iI = 2 To iRow
If Not Intersect(Target, ActiveSheet.Cells(iI, 1)) Is Nothing Then '若有更改 Ax 內容
If Not Cells(Target.Row, Target.Column) = Empty Then
Call Change(iI)
End If
End If
Next iI
End Sub
'===== 以下程式放在 Module1 =====
Sub Change(iI)
Dim iJ As Integer, iCol As Integer, iRow As Integer
Dim sStr As String
With Sheets(1)
iCol = .Cells(2, 1).End(xlToRight).Column
For iJ = 2 To iCol
sStr = .Cells(iI, iJ).Formula
sStr = Left(sStr, 12) & .Cells(iI, 1).Value & Mid(sStr, 17, Len(sStr) - 16)
.Cells(iI, iJ).Formula = sStr
Next iJ
End With