Saltar al contenido

codigo que se ejecute en las dos hojas


fredy122

Recommended Posts

publicado

buenos dias amigos de excel 

tengo el siguiente problema tengo un formulario que al darle click a un boton me busca las coincidencias numericas de un numero de 4 cifras de acuerdo al codigo  y me las marca con color verde en una hoja

pero quisiera llevarlo a un nivel mas alla quisiera que el codigo no se ejecute en la hoja donde esta el  formulario pero que si en la hoja siguiente

Sub coinciden()

Dim n As Range
Dim lookup

'se solicita ingreso del nro de 4 dígitos
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 AH1 y se da formato a la celda
With [df1]
    .Value = lookup
    .NumberFormat = "0000"
    .Font.Bold = True
    .HorizontalAlignment = xlLeft
    .Interior.ColorIndex = 44     '(naranja)
End With
'se recorre el rango buscando las 6 coincidencias
'se limpia la col AG
Columns("de:de").Clear
x = 2
For Each n In Range("a1:cy42")
    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 AG
            Range("de" & x) = n
            x = x + 1
        
    Else   'opcional quitar color a los no coincidentes.
        n.Interior.Color = xlNone
    End If
Next n
MsgBox "Fin del proceso.", , "INFORMACIÓN"
End Sub


el principio del codigo seria algo como asi

Sub buscaCuadro()
Dim nrop As String
'busca la combinación de nros en los cuadros de pista
Set hopi = Sheets("sabado")
Sheets("resultados").Select

ya subire adjunto ya que pesa mas de 100 kb

publicado
Hace 12 minutos , jhon fredy rodriguez dijo:

pero quisiera llevarlo a un nivel mas alla quisiera que el codigo no se ejecute en la hoja donde esta el  formulario pero que si en la hoja siguiente

Mientras lo subes ¿A qué te refieres con que "se ejecute" en otra hoja? ¿A qué las coincidencias te las pase a otra hoja? ¿Que las elmine de la original?...

publicado

https://drive.google.com/open?id=14kme7AotYY6jF13HiYa4mjIADEcKnMzL

subi el enlace ya que el adjunto pesa mucho

explico el proceso 

nos ubicamos en la hoja resultados , oprimimos la imagen azul que esta en la columna AC ,sale un formulario con los numeros que estan en la columna AI

al oprimir el boton de la lupa me ejecuta este codigo en la hoja resultados y en la hoja pista al mismo tiempo

Sub Formulario()
[AI2].Select
analisis.Show vbModeless 'Te permite interactuar con la hoja estando el formulario mostrado
End Sub

Sub buscaCuadro()
Dim nrop As String
'busca la combinación de nros en los cuadros de pista
Set hopi = Sheets("pista")
Sheets("resultados").Select

'limpiar pista de colores anteriores     'opcional
hopi.Range("E2:AV40").Interior.PatternColor = xlNone

'se recorre col AR de hoja resultado
For x = 2 To Range("AR" & Rows.Count).End(xlUp).Row   '2da lista
    nrop = Range("AR" & x)
    For i = 2 To 35             'filas
        For j = 5 To 38 Step 5  'col
        If hopi.Cells(i, j) = Val(Left(nrop, 1)) And hopi.Cells(i, j + 1) = Val(Mid(nrop, 2, 1)) And hopi.Cells(i, j + 2) = Val(Mid(nrop, 3, 1)) And hopi.Cells(i, j + 3) = Val(Mid(nrop, 4, 1)) Then
            filx = i: colf = j
            hopi.Range(hopi.Cells(i, j), hopi.Cells(i, j + 3)).Interior.ColorIndex = 6
            Exit For
        End If
        Next j
        If hopi.Cells(i + 1, 5) = "" Then i = i + 2
    Next i
Next x
End Sub

pero ahora necesito que al oprimirlo tambien se ejecute el codigo coinciden sin marcar la hoja resultados pero si la hoja sabado 

el rango de la hoja sabado es corto solo va de "a1:c16"

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.