Saltar al contenido

Recommended Posts

publicado

Tengo una hoja en un excel que se llama Base de datos, la cual tiene una tabla que posee Equipo, Pozo, Día, Jornada, Actividad GBB y Cantidad de Horas realizadas, en ese mismo orden y otra hoja llamada Pozo 3 en donde la celda K2 tengo escrito el Pozo, y desde la celda E10 hacia la derecha tengo escrito distintas fechas, y abajo de estas fechas distintas jornadas (Esto está hecho en macro), necesito otro macro en esta hoja que busque la coincidencia del pozo, fecha, jornada y Actividad GBB tanto en la hoja Base de datos y la hoja de Pozo 3 y me coloque las Horas realizadas correspondiente a cada actividad GBB

Actividades para que busque las coincidencia son estas que:

  • MOV. HTA. (PRUEBAS)
  • MOV. HTA.(MEDICION POZO)
  • MOV. HTA. POR TRONADURA
  • MEDICION TELEVIWER

 

  • MEDICION DE POZO CLIENTE
  • ESPERA POR TRONADURA
  • MOV. SONDA POR TRONADURA
  • ESPERA DE ACCESO
  • ESPERA DE PLATAFORMA CLIENTE
  • ESPERA DE MEDICION CLIENTE
  • ESPERA DE INSTRUCCIONES CLIENTE
  • VIDEO POZO

tener en cuenta que las fechas y la jornada de la Hoja Pozo 3 se encuentran hacia al lado y no hacia abajo,.

Nose si quedo clara mi explicación. 

Ayuda plz :(

EXCEL EDP_1.xlsm

  • 9 months later...
publicado

Hola,

Estaba viendo los temas de la sección sin respuestas y llama la atención el suyo porque a pesar de tener tantas descargas al momento no ha tenido más participación. Una causa podría ser lo extenso.

Solo por darle una idea general a sabiendas que debe personalizar una opción de código podría ser así:

Sub BuscarCoincidencias()
    Dim wsBase As Worksheet
    Dim wsPozo As Worksheet
    Dim pozo As String
    Dim fecha As Range
    Dim jornada As Range
    Dim actividad As String
    Dim filaBase As Long
    Dim filaPozo As Long
    Dim columnaFecha As Long
    Dim columnaJornada As Long
    Dim actividades As Variant
    Dim i As Long
    
    ' Definir las hojas de trabajo
    Set wsBase = ThisWorkbook.Sheets("Base de datos")
    Set wsPozo = ThisWorkbook.Sheets("Pozo 3")
    
    ' Obtener el pozo de la celda K2
    pozo = wsPozo.Range("K2").Value
    
    ' Definir las actividades a buscar
    actividades = Array("MOV. HTA. (PRUEBAS)", "MOV. HTA.(MEDICION POZO)", "MOV. HTA. POR TRONADURA", _
                        "MEDICION TELEVIWER", "MEDICION DE POZO CLIENTE", "ESPERA POR TRONADURA", _
                        "MOV. SONDA POR TRONADURA", "ESPERA DE ACCESO", "ESPERA DE PLATAFORMA CLIENTE", _
                        "ESPERA DE MEDICION CLIENTE", "ESPERA DE INSTRUCCIONES CLIENTE", "VIDEO POZO")
    
    ' Recorrer las fechas en la hoja "Pozo 3"
    For Each fecha In wsPozo.Range("E10:BP10")
        columnaFecha = fecha.Column
        
        ' Recorrer las jornadas en la hoja "Pozo 3"
        For Each jornada In wsPozo.Range(wsPozo.Cells(11, columnaFecha), wsPozo.Cells(11, columnaFecha + 1))
            columnaJornada = jornada.Column
            
            ' Recorrer las actividades
            For i = LBound(actividades) To UBound(actividades)
                actividad = actividades(i)
                
                ' Buscar coincidencias en la hoja "Base de datos"
                filaBase = 2 ' Asumiendo que los datos empiezan en la fila 2
                Do While wsBase.Cells(filaBase, 1).Value <> ""
                    If wsBase.Cells(filaBase, 2).Value = pozo And _
                       wsBase.Cells(filaBase, 3).Value = fecha.Value And _
                       wsBase.Cells(filaBase, 4).Value = jornada.Value And _
                       wsBase.Cells(filaBase, 5).Value = actividad Then
                       
                        ' Colocar las horas realizadas en la hoja "Pozo 3"
                        wsPozo.Cells(15, columnaJornada).Value = wsBase.Cells(filaBase, 6).Value
                        Exit Do
                    End If
                    filaBase = filaBase + 1
                Loop
            Next i
        Next jornada
    Next fecha
End Sub

Le recomiendo ir por partes y seccionar su consulta en resultado por resultado.

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • 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.