
例如,如果我輸入字母“W”,我希望單元格自動替換為數字 4,000,如果輸入字母“B”,我希望單元格自動替換為數字 3,000。如果我隨後更改字母,我希望單元格自動更改為新數字。
答案1
你可以嘗試這個程式碼:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
If Target.Columns.Count = 1 Then
If Target.Value = "W" Then
Target.Value = 4000
ElseIf Target.Value = "X" Then
Target.Value = 5000
ElseIf Target.Value = "Y" Then
Target.Value = 6000
End If
Endif
End Sub
怎麼運作的:
- 要么按Alt+F11。
- 或者右右鍵單擊工作表選項卡,然後從彈出式選單中單擊V查看代碼。
您將看到 VBA 編輯器視窗。
C奧比&磷嘗試這段程式碼。
按Ctrl+s 儲存。
現在按Alt+Q 返回工作表。
現在,只要您在 A 列中輸入 W、X 或 Z,此程式碼就會將其替換為指定的數字。
注意
- 您可以新增更多條件。
- 字母和受尊重的數字是可編輯的。
- 您可以使用程式碼行調整列,,
If Target.Columns.Count = 1 Then
這裡1代表任一列。
也應該是,,
If Target.Columns.Count >= 1 And Target.Columns.Count <= 5 Then
如果您只想在 A 列中工作,那麼最好使用此程式碼。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Me.Range("A:A")) Is Nothing Then
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
If Target.Value = "W" Then
Target.Value = 4000
ElseIf Target.Value = "X" Then
Target.Value = 5000
ElseIf Target.Value = "Y" Then
Target.Value = 6000
End If
End If
End Sub
注意
- 這
Me.Range("A:A"))
是可編輯的並且應該Me.Range("A:C"))
或Me.Range("A1:A100"))
也。 - 將工作簿另存為中號acro 啟用 (.xlsm)。