Macro para insertar en diferentes celdas una letra con condiciones

Quiero crear una macro que haga lo siguiente:
Tengo en la columna A, muchas celdas con datos.
Ejemplo:

Normal columna A -- asi seria la columna con la macro
123456 -- S123456
234567 -- S234567
AASS22 -- AASS22
QZXC11 -- QZXC11
S335566 -- S335566
777888 -- S777888
S99999 -- S99999
555555 -- S555555
666666 -- S666666
999999 -- S999999

Hay más de 10.000 celdas,
necesito que busque en todas las celdas y que añada una S delante de los números en aquellas celdas que solo contengan los seis números y que en las demas celdas no escriba S.

Respuesta
2

[Hola 

Te paso la macro 

Sub agrega_letra()
    '_Adriel Ortiz
    Application.ScreenUpdating = False
    '
    u = Range("A" & Rows.Count).End(xlUp).Row
    suf = "S"
    '
    For i = 2 To u
        cant = Len(Cells(i, 1))
        If IsNumeric(Cells(i, 1)) And cant = 6 Then
            Cells(i, 1) = suf & Cells(i, 1)
        End If
    Next i
    '
    Application.ScreenUpdating = True
    MsgBox "fin"
End Sub

Finaliza valorando la respuesta

2 respuestas más de otros expertos

Respuesta
2

Prueba con esta macro

Sub agregar_letra()
Set datos = Range("a1").CurrentRegion
With datos
    r = .Rows.Count
    For i = 1 To r
        celda = Trim(.Cells(i, 1))
        esnumero = IsNumeric(celda)
        largo = Len(celda)
        If esnumero And largo = 6 Then .Cells(i, 1) = "S" & .Cells(i, 1)
    Next i
End With
Set datos = Nothing
End Sub
Respuesta
1

Puedes hacerlo así:

1) Busca una columna libre o inserta una nueva columna donde guardar los datos de la columna A modificados como quieres.

3) En la nueva columna aplica esta fórmula:

=SI(ESNUMERO($A1);"S"&$A1;$A1)  y la arrastras hasta el final.

muchas gracias por tu tiempo y por la ayuda.

Un saludo

Hola buenos días,

Te quería preguntar si me puedes ayudar de nuevo.

Necesito una macro que realice lo siguiente:

Columna A  columna B      columna C

Nombre       comparar        numero de serie

S123456                               S123456

558899                                 CCDDEE

Hay más de 10000 celdas.

Quiero que compare los datos de la columna A(nombre) y C(numero de serie) y si es el mismo numero que escriba el resultado en la columna B(comparar).

Gracias y un saludo.

Sí, claro que se te puede ayudar, pero debes abrir una nueva pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas