Macro Elimina Números Residuos
Buen dia,
Estimados tengo una Macro que me elimina teléfonos que no utilizo por longitud de caracteres, necesito que sea mas automatizado, es decir actualmente esta macro la tengo que pasar columna por columna: pero deseo que esta macro revise cuantas columnas tengo y elimine las que no son útiles.
Considerando que la columna A y B no deben ser tocados.
ESTA ES LA MACRO.
Sub Verifica_Telefonos()
Dim INTENTAR As Long, total As Integer
Dim contador1 As Integer, contador2 As Long, contador3 As Integer
Dim columna As String, observación As String, cliente As String
INTENTAR = 2 '1era fila a verificar
contador1 = 0 'contando los # incorrectos
contador2 = 0 'contando los # incorrectos
contador3 = 0 'contando los # incorrectos
columna = InputBox$("Ingrese la letra que corresponda a la columna a analizar los números telefónicos : ")
observación = InputBox$("Ingrese el nombre de la columna donde mostrará la observación : ")
While Range("A" & INTENTAR).Value <> ""
If Len(Range(columna & INTENTAR).Value) = 10 And Left(Range(columna & INTENTAR).Value, 2) = 19 Then
Range(columna & INTENTAR).Value = Right(Range(columna & INTENTAR).Value, 9)
End If
If Len(Range(columna & INTENTAR).Value) = 9 And Left(Range(columna & INTENTAR).Value, 1) <> 9 Then
Range(columna & INTENTAR).Value = Right(Range(columna & INTENTAR).Value, 9)
contador1 = contador1 + 1
Range(observación & INTENTAR).Value = "incorrecto"
End If
If (Len(Range(columna & INTENTAR).Value) < 7 And Len(Range(columna & INTENTAR).Value) > 1) Or Len(Range(columna & INTENTAR).Value) > 9 Then
'Verificando cantidad de teléfonos no válidos por longitud
contador1 = contador1 + 1
Range(observación & INTENTAR).Value = "incorrecto"
Else
If Left(Range(columna & INTENTAR).Value, 5) = 0 Or Right(Range(columna & INTENTAR).Value, 5) = 11111 Or Right(Range(columna & INTENTAR).Value, 5) = 22222 Or Right(Range(columna & INTENTAR).Value, 5) = 33333 Or Right(Range(columna & INTENTAR).Value, 5) = 44444 Or Right(Range(columna & INTENTAR).Value, 5) = 55555 Or Right(Range(columna & INTENTAR).Value, 5) = 66666 Or Right(Range(columna & INTENTAR).Value, 5) = 77777 Or Right(Range(columna & INTENTAR).Value, 5) = 88888 Or Right(Range(columna & INTENTAR).Value, 5) = 99999 Then
'Verificando cantidad de teléfonos no válidos
contador2 = contador2 + 1
Range(observación & INTENTAR).Value = "incorrecto"
Else
If Len(Range(columna & INTENTAR).Value) <> 9 And Left(Range(columna & INTENTAR).Value, 1) = 9 Then
contador3 = contador3 + 1
Range(observación & INTENTAR).Value = "incorrecto"
End If
End If
If Left(Range(columna & INTENTAR).Value, 2) = 19 Or Left(Range(columna & INTENTAR).Value, 2) = 80 Or Left(Range(columna & INTENTAR).Value, 2) = 81 Or Left(Range(columna & INTENTAR).Value, 2) = 85 Or Left(Range(columna & INTENTAR).Value, 2) = 86 Or Left(Range(columna & INTENTAR).Value, 2) = 87 Or Left(Range(columna & INTENTAR).Value, 2) = 88 Or Left(Range(columna & INTENTAR).Value, 2) = 89 Or Left(Range(columna & INTENTAR).Value, 2) = 18 Then
'Verificando celulares no validos
contador3 = contador3 + 1
Range(observación & INTENTAR).Value = "incorrecto"
End If
End If
INTENTAR = INTENTAR + 1
Wend
total = contador1 + contador2 + contador3
MsgBox "La cantidad de números telefónicos incorrectos encontrados en la base de son: " & CStr(total) & "."
End Sub