我想用特定數字替換字符,我需要輸入什麼公式才能做到這一點?

我想用特定數字替換字符,我需要輸入什麼公式才能做到這一點?

例如,如果我輸入字母“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)。

相關內容