![Quiero reemplazar un carácter con un número específico, ¿qué fórmula ingreso para hacer esto?](https://rvso.com/image/1628435/Quiero%20reemplazar%20un%20car%C3%A1cter%20con%20un%20n%C3%BAmero%20espec%C3%ADfico%2C%20%C2%BFqu%C3%A9%20f%C3%B3rmula%20ingreso%20para%20hacer%20esto%3F.png)
Entonces, por ejemplo, si pongo la letra 'W' me gustaría que la celda se reemplace automáticamente con el número 4000 y si pongo la letra 'B' me gustaría que la celda se reemplace con el número 3000. Si luego cambio la letra, me gustaría que la celda cambie automáticamente al nuevo número.
Respuesta1
Puedes probar este código:
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
Cómo funciona:
- O presioneAlt+F11.
- ORHaga clic derecho en la pestaña Hoja y luego, en el menú emergente, presioneVVer código.
Obtendrá la ventana del editor de VBA.
Ccopiar yPAGGuarde este código.
PrensaCtrl+s para guardar.
Ahora presionaAlt+Q para volver a la Hoja.
Ahora, tan pronto como ingrese W, X o Z en la columna A, este código lo reemplazará con el número asignado.
NÓTESE BIEN
- Puedes agregar más condiciones.
- Los alfabetos y los números respetados son editables.
- Puede ajustar la columna usando la línea de código,
If Target.Columns.Count = 1 Then
Aquí 1 representa cualquier columna.
Debería ser también,,
If Target.Columns.Count >= 1 And Target.Columns.Count <= 5 Then
Si desea que funcione solo en la Columna A, entonces será mejor que utilice este código.
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
NÓTESE BIEN
- Esto
Me.Range("A:A"))
es editable y deberíaMe.Range("A:C"))
oMe.Range("A1:A100"))
también. - Guarde el libro de trabajo comoMETROacro Habilitar (.xlsm).