Radio Aportaciones:  
--:--  | : 0hs-4hs -
Toggle Bar

    Seleccionar y poner en otra hoja

    15 Ene 2008 22:29 #20780 por Luikb
    buenas tardes tengo lo siguiente
    Hoja1

    A B C D E F G H
    1 2 3 4 5 6 7 8
    3 3 2 2 2 6 2 2
    2 4 2 2 5 2 3 7

    Lo que quiero hacer es seleccionar de la las filas los datos A,B,C y D, donde el valor de F sea igual a 6 y que ademas la columna A sea igual a 1

    Saludos

    Luis Morales

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    16 Ene 2008 00:45 #20787 por Valvaro
    Respuesta de Valvaro sobre el tema Re:Seleccionar y poner en otra hoja
    Ampliando el rango, nada mas como ejemplo:

    A B C D E F G H
    1 2 3 4 5 6 7 8
    3 3 2 2 2 6 2 2
    2 4 2 2 5 2 3 7
    1 3 3 3 2 2 2 2
    3 3 3 2 2 6 2 1
    3 3 2 2 4 6 2 3
    1 3 3 2 2 6 2 5
    1 3 3 2 2 2 4 6
    1 4 3 3 2 2 2 1
    2 4 8 9 3 3 2 2


    (de la A a la H serian nombres de campos, tal que se llamaran Juan, Pedro, Jose..etc)

    Comienza la accion:


    Sub Seleccion_conFiltros()
    '
    ' Macro que selecciona de la columna \"F\" los que valen (\"6\") y que tambien valen (\"1\")
    ' en la columna \"A\"
    ' Macro grabada el 15/01/2008 por Contador
    '

    '
    Range(\"A1\").Select 'Seleccion de la primera fila en la primer columna
    Range(Selection, Selection.End(xlToRight)).Select 'Selecciona de Izquierda a derecha, todo lo que tenga datos
    Range(Selection, Selection.End(xlDown)).Select 'Selecciona de arriba hacia abajo, todo lo que tenga datos
    Selection.AutoFilter 'aplica un filtro a la seleccion
    Selection.AutoFilter Field:=6, Criteria1:=\"6\" 'De la columna F toma solo los que valen \"seis\" (puede ser cualquier valor)
    Selection.AutoFilter Field:=1, Criteria1:=\"1\" 'De la columna A toma los que valen \"uno\"
    Range(\"A1\").Select 'Se posiciona en el inicio
    Range(Selection, Selection.End(xlToRight)).Select 'otra vez seleccionamos de izquierda a derecha y
    Range(Selection, Selection.End(xlDown)).Select 'de arriba hacia abajo, todo lo que quedo activo
    Selection.Copy 'lo seleccionas para copiar
    Sheets(\"Hoja2\").Select 'activas la hoja 2 (lo siento, no se como indicarle que la cree, en caso de que no exista)
    Range(\"A1\").Select 'Se posiciona al inicio
    ActiveSheet.Paste 'pega lo que teniamos en la memoria
    Sheets(\"Hoja1\").Select 'selecciona de nuevo la hoja principal
    Application.CutCopyMode = False 'quita la seleccion flotante de \"copiar\"
    Selection.AutoFilter Field:=1 'quita el filtro en la columna A
    Selection.AutoFilter Field:=6 'quita el de la F
    Sheets(\"Hoja2\").Select 'Regresa a la nueva hoja
    Columns(\"E:H\").Select 'selecciona las columnas E F G H (no se necesitan)
    Selection.Delete Shift:=xlToLeft 'y las elimina
    Range(\"E1\").Select 'Fin de la historia, no la mejor, pero funciona segun lo pedido :D
    End Sub


    y aprovechando, quisiera si uno de los mas avanzados en el VisualBasic me dijera la opcion para seleccionar \"Celdas no vacias\" en toda la hoja activa (que supongo que es mas facil que ir de \"izquierda a Derecha\" y de \"arriba hacia abajo\", ya que se corre el riesgo de interrumpir la seleccion con las celdas en blanco :silly: )

    Saludos!

    Vendo AMEROS baratos o cambio por PEJEBONOS!!!

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    16 Ene 2008 02:47 #20790 por Luikb
    Respuesta de Luikb sobre el tema Re:Seleccionar y poner en otra hoja
    dejame digiero la macro y veo a ver si se puede aplicar el Row.Count

    Saludos

    Luis Morales

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    16 Ene 2008 15:40 #20819 por Luikb
    Respuesta de Luikb sobre el tema Re:Seleccionar y poner en otra hoja
    Muchas Gracias por la macro ya la hice funcionar con mi hoja, aunque al principio de esta macro yo agregaria
    un Sheets(\"Hoja1\").Select

    Ya que si ejecuto la macro en la hoja 2 me marca error, ahora bien tambien borre los datos contenidos en la hoja 2


    Sheets(\"Hoja2\").Select
    Range(\"A1\").Select 'Se posiciona en el inicio

    Range(Selection, Selection.End(xlToRight)).Select 'otra vez seleccionamos de izquierda a derecha y

    Range(Selection, Selection.End(xlDown)).Select 'de arriba hacia abajo

    Selection.Delete Shift:=xlToLeft

    Porque si mi primera seleccion fue de 10 renglones y la segunda es de 8, los ultimos 2 renglones corresponden a la seleccion anterior, no a la nueva.

    Muchisimas gracias es exactamente lo que necesitaba

    Saludos

    Luis Morales

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    16 Ene 2008 20:00 #20851 por ByPaco
    Respuesta de ByPaco sobre el tema Re:Seleccionar y poner en otra hoja
    Resumí algunas cosas.
    [code:1]Sub conFiltros()
    '
    ' Macro que selecciona de la columna \"F\" los que valen (\"6\") y que tambien valen (\"1\")
    ' en la columna \"A\"

    Sheets(\"Hoja2\").Select 'Se activa la hoja 2
    Range([A1].CurrentRegion.Address).Delete 'se borra los datos anteriores
    Sheets(\"Hoja1\").Select
    Range([A1].CurrentRegion.Address).AutoFilter 'Selecciona la cadena de la celda [A1] y aplica autofiltro
    Selection.AutoFilter Field:=6, Criteria1:=\"6\" 'De la columna F toma solo los que valen \"seis\" (puede ser cualquier valor)
    Selection.AutoFilter Field:=1, Criteria1:=\"1\" 'De la columna A toma los que valen \"uno\"
    Range([A1].CurrentRegion.Address).Copy 'Copia la cadena de la celda [A1]
    Sheets(\"Hoja2\").Select 'activas la hoja 2 (lo siento, no se como indicarle que la cree, en caso de que no exista)
    ActiveSheet.Paste Range(\"A1\") 'pega lo que teniamos en la memoria en celda [A1]
    Sheets(\"Hoja1\").Select 'selecciona de nuevo la hoja principal
    Application.CutCopyMode = False 'quita la seleccion flotante de \"copiar\"
    Range([A1].CurrentRegion.Address).AutoFilter
    Sheets(\"Hoja2\").Select 'Regresa a la nueva hoja
    Columns(\"E:H\").EntireColumn.Delete 'Elimina las columnas E F G H (no se necesitan)
    End Sub

    [/code:1]<br><br>Mensaje editado por: ByPaco, el: 16/01/2008 17:44

    « Antes de que los reinos cambien, los hombres deberán cambiar »

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    16 Ene 2008 20:53 #20856 por Valvaro
    Respuesta de Valvaro sobre el tema Re:Seleccionar y poner en otra hoja
    Debo aclararles que dude mucho en enviar esta macro,
    ya que no esta ni por mucho depurada (con un cuadrito de dialogo
    quedaria perfecta)ya que no programo ni el despertador de la casa,
    pero no cabe duda que es la mejor manera de aprender..

    Gracias a ambos!

    Vendo AMEROS baratos o cambio por PEJEBONOS!!!

    Por favor, Identificarse o Crear cuenta para unirse a la conversación.

    Tiempo de carga de la página: 0.143 segundos

    ¿Quién está en línea?

    Hay 239 invitados y ningún miembro en línea