Jump to content

asignar código según rango


soda1206

Recommended Posts

buenos días estimad@s foristas, ojalá me puedan ayudar con mi consulta: necesito asignar un código según sea el tramo, es decir, ejemplo: si sond_aux_1 (col A) cuyo tramo completo (el largo) va desde 0 (col-B) hasta 150 (col C) en total...pero en este tramo, es decir, de 0 a 150 pueden haber distintos códigos asignados, estos códigos están en la col E ... entonces si sond_aux_1 tiene el tramo que parte en 0 hasta 66 y el código es 0, entonces asignar código -9.... luego desde el tramo (destacado en amarillo) 66 al 84 tiene código 610, entonces debería quedar la solución como está en las columnas H:K, así sucesivamente asignando código según tramo. Necesito una macro para automatizar esto, ya que son miles los datos, adjunto archivo de ejemplo para mejor entendimiento. Desde ya les agradezco su ayuda estimados foreros. Saludos Cordiales.

flag_codigo.xlsx

Link to comment
Share on other sites

Hace 1 hora, soda1206 dijo:

buenos días estimad@s foristas, ojalá me puedan ayudar con mi consulta: necesito asignar un código según sea el tramo, es decir, ejemplo: si sond_aux_1 (col A) cuyo tramo completo (el largo) va desde 0 (col-B) hasta 150 (col C) en total...pero en este tramo, es decir, de 0 a 150 pueden haber distintos códigos asignados, estos códigos están en la col E ... entonces si sond_aux_1 tiene el tramo que parte en 0 hasta 66 y el código es 0, entonces asignar código -9.... luego desde el tramo (destacado en amarillo) 66 al 84 tiene código 610, entonces debería quedar la solución como está en las columnas H:K, así sucesivamente asignando código según tramo. Necesito una macro para automatizar esto, ya que son miles los datos, adjunto archivo de ejemplo para mejor entendimiento. Desde ya les agradezco su ayuda estimados foreros. Saludos Cordiales.

flag_codigo.xlsx

estimado @Haplox me podrías ayudar con esta consulta por favor. Te lo agradecería mucho mucho.Saludos.

Link to comment
Share on other sites

Hace 2 horas, soda1206 dijo:

buenos días estimad@s foristas, ojalá me puedan ayudar con mi consulta: necesito asignar un código según sea el tramo, es decir, ejemplo: si sond_aux_1 (col A) cuyo tramo completo (el largo) va desde 0 (col-B) hasta 150 (col C) en total...pero en este tramo, es decir, de 0 a 150 pueden haber distintos códigos asignados, estos códigos están en la col E ... entonces si sond_aux_1 tiene el tramo que parte en 0 hasta 66 y el código es 0, entonces asignar código -9.... luego desde el tramo (destacado en amarillo) 66 al 84 tiene código 610, entonces debería quedar la solución como está en las columnas H:K, así sucesivamente asignando código según tramo. Necesito una macro para automatizar esto, ya que son miles los datos, adjunto archivo de ejemplo para mejor entendimiento. Desde ya les agradezco su ayuda estimados foreros. Saludos Cordiales.

flag_codigo.xlsx

estimado @johnmpl puedes ayudarme con esa consulta por favor. Desde ya te agradezco cualquier comentario.

Link to comment
Share on other sites

Hace 4 horas, soda1206 dijo:

buenos días estimad@s foristas, ojalá me puedan ayudar con mi consulta: necesito asignar un código según sea el tramo, es decir, ejemplo: si sond_aux_1 (col A) cuyo tramo completo (el largo) va desde 0 (col-B) hasta 150 (col C) en total...pero en este tramo, es decir, de 0 a 150 pueden haber distintos códigos asignados, estos códigos están en la col E ... entonces si sond_aux_1 tiene el tramo que parte en 0 hasta 66 y el código es 0, entonces asignar código -9.... luego desde el tramo (destacado en amarillo) 66 al 84 tiene código 610, entonces debería quedar la solución como está en las columnas H:K, así sucesivamente asignando código según tramo. Necesito una macro para automatizar esto, ya que son miles los datos, adjunto archivo de ejemplo para mejor entendimiento. Desde ya les agradezco su ayuda estimados foreros. Saludos Cordiales.

flag_codigo.xlsx

@Leopoldo Blancas Estimado Leopoldo, he tratado de conseguir ayuda con esta macro aún no he tenido ninguna respuesta de algún miembro del foro, sería posible que tu me puedas ayudar?? te lo agradecería mucho. 

Link to comment
Share on other sites

buenas tardes estimado @Leopoldo Blancas , sabes que falta un pequeño "ajuste" a la macro, que me acabo de dar cuenta, arroja todos los resultados resumidos bien !! exceptuando el último tramo de la culumna "hasta" que corresponde al último registro encontrado...no aparece dicho valor, estuve tratando de entenderla y saber donde modificarla, pero no pude, te pido por favor si me puedes ajustar lo que falta y aprovechar de comentar brevemente las líneas del código macro que generaste para poder entender y modificar según las necesidades. Desde ya te estoy muy agradecido. Saludos Cordiales.

PD. Si echas a correr la macro fíjate en el último registro procesado, y mira la columna "hasta", no estará el valor...

 

Link to comment
Share on other sites

Sub AsignarCodigo()
Dim nFila&, mFila&, cSond_Aux As String, nCodigo&
    mFila = 2
    Cells(mFila, "G") = Cells(2, 1)
    Cells(mFila, "H") = Cells(2, 2)
    If Cells(2, "D") = 0 Then Cells(mFila, "J") = -9 Else Cells(mFila, "J") = Cells(2, 4)
    nCodigo = Cells(2, "D")
    cSond_Aux = Cells(2, 1)
    nFila = 2
    Do While Cells(nFila, 1) <> Empty
        If Cells(nFila, "D") <> nCodigo Or Cells(nFila, "A") <> cSond_Aux Then
            Cells(mFila, "I") = Cells(nFila - 1, 3)
            mFila = mFila + 1
            cSond_Aux = Cells(nFila, 1)
            Cells(mFila, "G") = cSond_Aux
            Cells(mFila, "H") = Cells(nFila, 2)
            nCodigo = Cells(nFila, 4)
            If Cells(nFila, "D") = 0 Then Cells(mFila, "J") = -9 Else Cells(mFila, "J") = nCodigo
        End If
        nFila = nFila + 1
    Loop
    Cells(mFila, "I") = Cells(nFila - 1, 3) '<<<<<<<<<<<<<<<PON ESTA LINEA.
End Sub

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Guest
This topic is now closed to further replies.


  • Crear macros Excel

  • Posts

    • Gracias, Antoni! No encontraba nada por ahí. Funcionan todas las soluciones, aunque voy a desarrollar sobre esta, es la que he podido entender mejor para adaptarlo a lo mío y de momento genial. Gracias de nuevo!
    • Buenos días; Estoy intentado hacer lo siguiente y corregirme si es que no se puede, adelanto un poco el tema. He adjuntado una macro con dos hojas y sus correspondientes encabezados en la fila 1. -He configurado una macro que borra todos los datos de ambas hojas. -También he creado otra que copia los datos de la primera hoja y los pega a partir de la fila diez creo recordar. Lo que necesito conseguir es copiar los datos de las dos hojas en una variable antes de que los borre y si los he borrado por error con la macro recuperar que pegue los datos que se hayan almacenado en la variable en cada una de las hojas.   Igual lo que se pretende hacer no es posible "de momento"  y si es así me comentáis. Saludos y buen día para todos. MCopiarBorrar.xlsm
    • ¡Hola de nuevo! @GabrielRaigosa, la razón del SI.ERROR(... 1+ CONTARA) es por si el usuario coloca la última fecha (en el ejemplo de la tabla, es el 12/04/2021), donde al ser 100% no habrían fechas por debajo de ésta. Tu opción 2 genera error por este motivo. ¡Bendiciones!
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy