文字を特定の数字に置き換えたいのですが、これを行うにはどのような数式を入力すればよいですか?

文字を特定の数字に置き換えたいのですが、これを行うにはどのような数式を入力すればよいですか?

たとえば、文字「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

使い方:

  • どちらかを押すlt+F11を押します。
  • またはRシートタブを右クリックし、ポップアップメニューからiewコード。

VBA エディターのウィンドウが表示されます。

  • オピ &このコードを使用します。

  • プレス保存するにはtrl+sを押します。

  • 今すぐ押してくださいシートに戻るには、lt+Q を押します。

  • ここで、列 A に W、X、または Z のいずれかを入力すると、このコードによって割り当てられた番号に置き換えられます。

注意

  • さらに条件を追加することもできます。
  • アルファベットと数字は編集可能です。
  • コード行を使用して列を調整できます。

If Target.Columns.Count = 1 Then

ここで 1 は任意の 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 )。

関連情報