Con estas 2 funciones podrás separar solo letras o solo números de una cadena de texto.
http://www.todoexcel.com/funciones-solo ... lonumeros/
Salu2.xls

TodoExcel escribió:Con estas 2 funciones podrás separar solo letras o solo números de una cadena de texto.
http://www.todoexcel.com/funciones-solo ... lonumeros/
Salu2.xls
Function Limpia(cadena, Optional num_let As Boolean = 0)
Dim pat As String: pat = IIf(num_let, "[^0-9]", "[0-9]")
With CreateObject("vbscript.regexp")
.Global = True: .Pattern = pat: Limpia = .Replace(cadena, "")
End With: If num_let Then Limpia = CLng(Limpia)
End Function

¿Podrías añadirle un argumento más a la función tal que podamos elegir limpiar también otros caracteres que no sean números o letras?


Function Limpia(cadena As String, Optional num_car_az As Byte = 1)
Dim pat As String
Select Case num_car_az
Case 2: pat = "[0-9]"
Case 3: pat = "[^a-z]"
Case Else: pat = "[^0-9]"
End Select
With CreateObject("vbscript.regexp")
.Global = True
.IgnoreCase = True
.Pattern = pat
Limpia = .Replace(cadena, "")
End With
If num_car_az = 1 Then Limpia = CLng(Limpia)
End Function

Volver a Macros, programación y códigos
Usuarios navegando por este Foro: ArmandoPR y 1 invitado