¿Se puede crear una macro que extraiga el ultimo dígito de una celda y lo pegue en otra?

Es para saber si es posible crear una macro que sea capaz de extraer el ultimo dígito de una una o varias celdas, ¿siempre y cuando este precedida de un -? Ejemplo: 900975172-7 Se extraiga el ultimo numero después de la rayita y lo pegue en la siguiente celda, que en este caso es DIG VERIFICACIÓN. Quedo atento a su amable colaboración.

3 Respuestas

Respuesta
1

[/Hola 

Te paso la macro


Valora la respuesta para finalizar

Sub separar()
'Por Adriel
'https://www.todoexpertos.com
    Application.ScreenUpdating = False
    For i = 3 To Range("C" & Rows.Count).End(xlUp).Row
        datos = Split(Cells(i, "C"), "-")
        On Error Resume Next
        Cells(i, "D") = datos(1)
    Next i
    Application.ScreenUpdating = True
    MsgBox "finalizado"
End Sub

Hola Adel muchas gracias por tu valioso aporte, mira la macro funciona, pero tal vez no me explique bien. La idea es que corte el ultimo dígito, siempre y cuando este precedido con una rayita y lo pegue en la columna siguiente eliminando de una la rayita. Ejemplo: 900975172-7 ubicada en la celda C4, cortar el numero 7 pegarlo en la celda D4 y eliminar la rayita. 37440575, como no tiene rayita ni dígito de verificación se deja así sucesivamente

Te paso la macro actualizada


No olvides de la valorar la respuesta

Sub separar()
'Por Adriel
'https://www.todoexpertos.com
'
    Application.ScreenUpdating = False
    For i = 3 To Range("C" & Rows.Count).End(xlUp).Row
        datos = Split(Cells(i, "C"), "-")
        On Error Resume Next
        Cells(i, "C") = datos(0)
        Cells(i, "D") = datos(1)
    Next i
    Application.ScreenUpdating = True
    MsgBox "finalizado"
End Sub
Respuesta
2

Te anexo la macro

Sub Digito_Verificador()
'Por Dante Amor
    With Range("D3:D" & Range("C" & Rows.Count).End(xlUp).Row)
        .FormulaR1C1 = "=IF(MID(RC[-1],LEN(RC[-1])-1,1)=""-"",RIGHT(RC[-1],1),"""")"
        .Value = .Value
    End With
    MsgBox "Fin"
End Sub

Hola Dante, el código de macro no me genera ningún resultado, la idea es que corte los últimos dígitos de la celda C3 hacia abajo, siempre y cuando el numero este precedido con una rayita tal y como se muestra en la imagen y los pegue en la D3 hacia abajo. Quedo atento a su amable respuesta

Eso hace la macro. Tienes que ejecutar la macro sobre la hoja.

Sigue las Instrucciones para ejecutar la macro

  1. Abre tu archivo de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Para ejecutarla presiona F5
Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas