Jump to content

Quitar letras de un tabla


Recommended Posts

Hola

Una forma es la siguiente:

Dim x As Integer

Application.ScreenUpdating = False

For x = 58 To 165
    Worksheets("Hoja2").Range("A1:H73").Replace What:=Chr(x), Replacement:="", LookAt:=xlPart
Next x

Obviamente cambia el nombre y rango por el que tú necesites. Por  cierto, aquí reemplazo los caracteres Ascii del 58 al 165 por "nada", pero colocando un For más y/o aumentando el número de ese For, puedes reemplazar más:

Enlace Ascii

Comentas

Link to post
Share on other sites

Hola a todos

 

A la propuesta de Abraham, yo le agregaría un pequeño detalle que evita que desaparezca todo

Sub SinLetras()
Dim x As Integer

Application.ScreenUpdating = False

For x = 58 To 165
If x = 63 Then x = x + 1
    Worksheets("Hoja1").Range("A1:H73").Replace What:=Chr(x), Replacement:="", LookAt:=xlPart
Next x

End Sub

 

El caracter 63 y 42 son comodines en Excel, así que en este caso hay que evitarlos.

Por tanto, si el FOR empezara en 32, yo pondría esto

If x = 42 or x = 63 Then x = x + 1

 

Saludos

Servando Villalón

Link to post
Share on other sites
Guest
This topic is now closed to further replies.


  • Posts

    • Muchísimas gracias por ayudarme y por tu tiempo. Si se añadiese directamente en vez tener que dar a elegir sería genial (un paso menos), con respecto a los combos ordenados no se a que te refieres.  Disculpa las horas pero trabajo y estudio y no me da la vida. Gracias de nuevo
    • BUENAS TARDESA TODOSY OJALA ME PUEDAN AYUDAR, TENGO ESTA MACRO QUE ME LA FACILITARON OJO NO ES DE MI AUTORIA MUCHO NIVEL PARA PODER HACERLO YO: Sub Copia_recetas()     Dim Rng$, x#     Dim rept        As Range     Dim celda     With Sheets("BD_Recetas")        Rng = .Range("D1")        Range("C9:C48").ClearContents        x = 9        For Each celda In Sheets("Proy.-Comer").Range(Rng)        If celda <> "" Then                 Set rept = .Range("C9:C48").Find(celda, , , xlWhole)                 If rept Is Nothing Then _                    .Cells(x, "C") = celda: x = x + 1                 End If         Next     End With     Sheets("BD_Recetas").Range("C9:C48").Select     Selection.AutoFilter     Sheets("BD_Recetas").Range("C9:C48").Sort Key1:=Range("C9:C48"), Order1:=xlAscending, Header:= _     xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _     DataOption1:=xlSortNormal     Sheets("BD_Recetas").Range("C9:C48").Select     Selection.AutoFilter     Range("F1").Select End Sub   Y ES QUE QUIERO EXTRAER DATOS UNICOS DE UN RANGO QUE SE ENCUENTRA EN OTRO LIBRO ("01 PCP COMERCIAL") Y DE LA HOJA ("Proy.-Comer")  EL ERROR QUE ME SALTA EN LA LINEA DE ROJO ES "ERROR 9 EN TIEMPO DE EJECUCIÓN" SUBINDICE FUERA DEL INTERVALO.
    • Muchisimas gracias ikanni, espero aprender poco a poco y no volver a molestarte. Muchas gracias de verdad por tu tiempo.
    • Sube tu archivo y te preparo algo.  
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy