
たとえば、文字「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 エディターのウィンドウが表示されます。
Cオピ &ポこのコードを使用します。
プレスC保存するには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 )。