Separar con guiones letras y números

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
1
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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas