Quiero reemplazar un carácter con un número específico, ¿qué fórmula ingreso para hacer esto?

Quiero reemplazar un carácter con un número específico, ¿qué fórmula ingreso para hacer esto?

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ía Me.Range("A:C"))o Me.Range("A1:A100"))también.
  • Guarde el libro de trabajo comoMETROacro Habilitar (.xlsm).

información relacionada