Tengo en excel una columna con matrículas de coches, y necesito que en otra columna me devuelva las mismas matriculas pero separado por guiones los números y letras. Gracias anticipadas
1 respuesta
Respuesta de neicos
1
1
neicos, Analista de sistemas y Programador en: Basic,c,c++,visual...
El código de la macro es el siguiente, coge todos los datos de la columna A y los pone ya modificados con los guiones en la columna B. cuen = Range("A" & Cells.Rows.Count).End(xlUp).Row Dim acumula As String For i = 1 To cuen acumula = "" If Len(Cells(i, 1)) > 1 Then For c = 1 To Len(Cells(i, 1)) If c > 1 Then If IsNumeric(Mid(Cells(i, 1), c - 1, 1)) And Not IsNumeric(Mid(Cells(i, 1), c, 1)) Or Not IsNumeric(Mid(Cells(i, 1), c - 1, 1)) And IsNumeric(Mid(Cells(i, 1), c, 1)) Then acumula = acumula + "-" If IsNumeric(Mid(Cells(i, 1), c, 1)) Then acumula = acumula + Str(Mid(Cells(i, 1), c, 1)) Else acumula = acumula + Mid(Cells(i, 1), c, 1) End If Else If IsNumeric(Mid(Cells(i, 1), c, 1)) Then acumula = acumula + Str(Mid(Cells(i, 1), c, 1)) Else acumula = acumula + Mid(Cells(i, 1), c, 1) End If End If Else If IsNumeric(Mid(Cells(i, 1), c, 1)) Then acumula = Str(Mid(Cells(i, 1), c, 1)) Else acumula = Mid(Cells(i, 1), c, 1) End If End If Next c acumula = Replace(acumula, " ", "") Cells(i, 2) = acumula Else Cells(i, 2) = Cells(i, 1) End If Next i
Valora mi respuesta.
No estoy muy puesta en esto, pero lo que hice fue crear una macro en la hoja en la que tengo los datos y luego la edite con el editor de visual basic y copie el código que me enviaste. Pues bien, si l que hice es correcto, la ejecutar la macro me da error en la línea For i = 1 To cuen Si te sirve de algo decirte que tengo el excel 2000. Espero que me puedas seguir ayudando. De nuevo gracias anticipadas
¿Me puedes pegar el código que al final has puesto en tu hoja? También decirte que el código que te he puesto empieza a contar desde la fila 1 de la columna A y lo pone desde la fila 1 en la Columna B.