Al seleccionar celda extraer sus dígitos automáticamente
Necesito dos favores, la idea es que al seleccionar una celda numérica de 4 dígitos del rango "af1;aj42" esta automáticamente extraiga sus cifras a la columna "a1, b1, c1, d1" como se muestra en la imagen
Y lo segundo como puedo quitarle el msgbox a este código para que se ejecute libremente
Sub coinxidencias()
'ajustada x Elsamatilde
Application.ScreenUpdating = False
Dim n As Range
Dim lookup
'necesito que se ejecute sin este mensaje solo directamente
lookup = Format(Val(InputBox("ingrese NUMERO de referencia", "BUSQUEDA DE COINCIDENCIAS")), "0000")
If Len(lookup) <> 4 Then
MsgBox "Número no válido.", , "ERROR"
Exit Sub
End If
'se guarda en a1 y se da formato a la celda
With [H1]
.Value = lookup
.NumberFormat = "@"
.Font.Bold = True
.HorizontalAlignment = xlLeft
.Interior.ColorIndex = 44 '(naranja)
End With
'se recorre el rango buscando las 6 coincidencias
'se limpia la col aa
Columns("A:A").Clear ' hay que quitar esta parte o que se oculte
x = 2
For Each n In Range("AF1:AJ42")
If n = lookup Or Left(n.Value, 2) = Left(lookup, 2) Or Right(n.Value, 2) = Right(lookup, 2) Or _
(Left(n.Value, 1) = Left(lookup, 1) And Right(n.Value, 1) = Right(lookup, 1)) Or _
(Left(n.Value, 1) = Left(lookup, 1) And Mid(n.Value, 3, 1) = Mid(lookup, 3, 1)) Or _
(Mid(n.Value, 2, 1) = Mid(lookup, 2, 1) And Right(n.Value, 1) = Right(lookup, 1)) Or _
(Mid(n.Value, 2, 1) = Mid(lookup, 2, 1) And Mid(n.Value, 3, 1) = Mid(lookup, 3, 1)) Then
n.Interior.ColorIndex = 4
'se agrega el nro a la col aa
Range("AB" & x) = n 'hay que quitar o ocultar esta parte
x = x + 1
Else 'opcional quitar color a los no coincidentes.
n.Interior.Color = xlNone
End If
Next n
Application.ScreenUpdating = True
Call buscar_reemplazar_color
'10-08: 'ya se tiene lista en col sin duplicados ni X.
End Sub
2 Respuestas
Respuesta de david ..
Respuesta de Julián González Cabarcos
