Una isntruccion que seleccione la primer celda de una lista filtrada

30/04/2007 - 23:44 por LUIS DANNY SALAS | Informe spam
debo pegar valores en unas celdas que previamente han sido filtradas, me
explico:

tengo una base de datos con el numero de carnet el nivel y la seccion de
todos los estudiantes del colegio, la macro debe filtrar a los estudiantes
de cierto nivel y cierta seccion(para tener la lista de ese grupo), hasta
ahi no tengo problema

por ejemplo necesito que filtre la lista de la seccion 10- A
al darle filtrar me aparece la lista asi:

A B C D E
1 carnet nivel seccion nota
94 204020 10 A
95 203920 10 A
96 209290 10 A
97 290902 10 A

las filas entre A1 y A94 fueron ocultadas ya que contienen estudiantes de
otra seccion, lo que yo necesito es que la macro tenga la instruccion de
irse a la celda E 94 para que pegue los valores de las notas, pero no puedo
usar la instruccion : Range("E94").Select por que cuando sea otra lista la
que haya filtrado por ejemplo la seccion 10 - B la primer celda filtrada de
la lista no sea la E94 si no cualquier otra,
lo que necesito es una instruccion que le indique a la macro irse a la
primer celda de la lista filtrada (E94 en este caso)y la seleccione para
luego poder pegar la columna de notas.

en este ejemplo es la E94 pero la idea es que si fuera la lista de otra
seccion por ejemplo el 10-B que igual reconozca la primer celda de esa
lista filtrada para poder pegar ahi la columna de notas de esa seccion.
Muchisimas gracias estare eternamente agradecido si alguien puede brindarme
ayuda.

Preguntas similare

Leer las respuestas

#1 j.benito
01/05/2007 - 00:36 | Informe spam
Hola Luis Danny

Yo no sé como hacerlo desde código, pero si pones esta fórmula matricial
(los corchetes deben aparecer al pulsar Ctrl+Shift+Enter) en cualquier
celda, por ejemplo F1, te dará el valor de la primera celda filtrada.
Después puedes leer esa celda para utilizarla en el código

Suponiendo que tengas 1000 filas

{=COINCIDIR(1;SUBTOTALES(3;DESREF(A2:A1000;FILA(A2:A1000)-MIN(FILA(A2:A1000));;1));0)+1}


J.Benito

LUIS DANNY SALAS escribió:
debo pegar valores en unas celdas que previamente han sido filtradas, me
explico:

tengo una base de datos con el numero de carnet el nivel y la seccion de
todos los estudiantes del colegio, la macro debe filtrar a los estudiantes
de cierto nivel y cierta seccion(para tener la lista de ese grupo), hasta
ahi no tengo problema

por ejemplo necesito que filtre la lista de la seccion 10- A
al darle filtrar me aparece la lista asi:

A B C D E
1 carnet nivel seccion nota
94 204020 10 A
95 203920 10 A
96 209290 10 A
97 290902 10 A

las filas entre A1 y A94 fueron ocultadas ya que contienen estudiantes de
otra seccion, lo que yo necesito es que la macro tenga la instruccion de
irse a la celda E 94 para que pegue los valores de las notas, pero no puedo
usar la instruccion : Range("E94").Select por que cuando sea otra lista la
que haya filtrado por ejemplo la seccion 10 - B la primer celda filtrada de
la lista no sea la E94 si no cualquier otra,
lo que necesito es una instruccion que le indique a la macro irse a la
primer celda de la lista filtrada (E94 en este caso)y la seleccione para
luego poder pegar la columna de notas.

en este ejemplo es la E94 pero la idea es que si fuera la lista de otra
seccion por ejemplo el 10-B que igual reconozca la primer celda de esa
lista filtrada para poder pegar ahi la columna de notas de esa seccion.
Muchisimas gracias estare eternamente agradecido si alguien puede brindarme
ayuda.


Respuesta Responder a este mensaje
#2 KL
01/05/2007 - 12:00 | Informe spam
Tal vez, algo asi:

Sub test1()
If Not ActiveSheet.AutoFilterMode Then Exit Sub
ActiveSheet.AutoFilter.Range.Offset(1).Columns(4) _
.SpecialCells(xlCellTypeVisible)(1).Select
End Sub

Saludos,
KL


"LUIS DANNY SALAS" wrote in message news:eYdpO$
debo pegar valores en unas celdas que previamente han sido filtradas, me
explico:

tengo una base de datos con el numero de carnet el nivel y la seccion de
todos los estudiantes del colegio, la macro debe filtrar a los estudiantes
de cierto nivel y cierta seccion(para tener la lista de ese grupo), hasta
ahi no tengo problema

por ejemplo necesito que filtre la lista de la seccion 10- A
al darle filtrar me aparece la lista asi:

A B C D E
1 carnet nivel seccion nota
94 204020 10 A
95 203920 10 A
96 209290 10 A
97 290902 10 A

las filas entre A1 y A94 fueron ocultadas ya que contienen estudiantes de
otra seccion, lo que yo necesito es que la macro tenga la instruccion de
irse a la celda E 94 para que pegue los valores de las notas, pero no puedo
usar la instruccion : Range("E94").Select por que cuando sea otra lista la
que haya filtrado por ejemplo la seccion 10 - B la primer celda filtrada de
la lista no sea la E94 si no cualquier otra,
lo que necesito es una instruccion que le indique a la macro irse a la
primer celda de la lista filtrada (E94 en este caso)y la seleccione para
luego poder pegar la columna de notas.

en este ejemplo es la E94 pero la idea es que si fuera la lista de otra
seccion por ejemplo el 10-B que igual reconozca la primer celda de esa
lista filtrada para poder pegar ahi la columna de notas de esa seccion.
Muchisimas gracias estare eternamente agradecido si alguien puede brindarme
ayuda.


Respuesta Responder a este mensaje
#3 LUIS DANNY SALAS
02/05/2007 - 05:09 | Informe spam
Te agradezco mucho pero resulta que lo que estoy usando mediante la macro no
es autofiltro si no filtro avanzado, y este codigo no me funciona.

esta es la instruccion de filtrar:

Range("A1:K508").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Workbooks("colega.xls").Sheets("REGISTRO").Range("Q165:V166"),
Unique:=True

una vez que hace esto necesito que se posicione en la primer celda visible
de la columna E, o de otra columna que se pueda escoger de acuerdo a una
condicion, pero de momento por lo menos que se seleccione la primer celda
visible de la columna E


gracias a vos o a cualquiere otra amable persona que pueda ayudarme.



"KL" wrote in message
news:%
Tal vez, algo asi:

Sub test1()
If Not ActiveSheet.AutoFilterMode Then Exit Sub
ActiveSheet.AutoFilter.Range.Offset(1).Columns(4) _
.SpecialCells(xlCellTypeVisible)(1).Select
End Sub

Saludos,
KL


"LUIS DANNY SALAS" wrote in message


news:eYdpO$
> debo pegar valores en unas celdas que previamente han sido filtradas, me
> explico:
>
> tengo una base de datos con el numero de carnet el nivel y la seccion de
> todos los estudiantes del colegio, la macro debe filtrar a los


estudiantes
> de cierto nivel y cierta seccion(para tener la lista de ese grupo),


hasta
> ahi no tengo problema
>
> por ejemplo necesito que filtre la lista de la seccion 10- A
> al darle filtrar me aparece la lista asi:
>
> A B C D E
> 1 carnet nivel seccion nota
> 94 204020 10 A
> 95 203920 10 A
> 96 209290 10 A
> 97 290902 10 A
>
> las filas entre A1 y A94 fueron ocultadas ya que contienen estudiantes


de
> otra seccion, lo que yo necesito es que la macro tenga la instruccion de
> irse a la celda E 94 para que pegue los valores de las notas, pero no


puedo
> usar la instruccion : Range("E94").Select por que cuando sea otra


lista la
> que haya filtrado por ejemplo la seccion 10 - B la primer celda filtrada


de
> la lista no sea la E94 si no cualquier otra,
> lo que necesito es una instruccion que le indique a la macro irse a la
> primer celda de la lista filtrada (E94 en este caso)y la seleccione para
> luego poder pegar la columna de notas.
>
> en este ejemplo es la E94 pero la idea es que si fuera la lista de otra
> seccion por ejemplo el 10-B que igual reconozca la primer celda de esa
> lista filtrada para poder pegar ahi la columna de notas de esa seccion.
> Muchisimas gracias estare eternamente agradecido si alguien puede


brindarme
> ayuda.
>
>
Respuesta Responder a este mensaje
#4 LUIS DANNY SALAS
02/05/2007 - 05:46 | Informe spam
GRACIAS , pero sinceramente la formula no me sirve debo hacerlo por codigo,
pero te agradezco mucho la ayuda de todas formas
"j.benito" <jbenitoanarrobagmail.com> wrote in message
news:
Hola Luis Danny

Yo no sé como hacerlo desde código, pero si pones esta fórmula matricial
(los corchetes deben aparecer al pulsar Ctrl+Shift+Enter) en cualquier
celda, por ejemplo F1, te dará el valor de la primera celda filtrada.
Después puedes leer esa celda para utilizarla en el código

Suponiendo que tengas 1000 filas




{=COINCIDIR(1;SUBTOTALES(3;DESREF(A2:A1000;FILA(A2:A1000)-MIN(FILA(A2:A1000)
);;1));0)+1}


J.Benito

LUIS DANNY SALAS escribió:
> debo pegar valores en unas celdas que previamente han sido filtradas, me
> explico:
>
> tengo una base de datos con el numero de carnet el nivel y la seccion de
> todos los estudiantes del colegio, la macro debe filtrar a los


estudiantes
> de cierto nivel y cierta seccion(para tener la lista de ese grupo),


hasta
> ahi no tengo problema
>
> por ejemplo necesito que filtre la lista de la seccion 10- A
> al darle filtrar me aparece la lista asi:
>
> A B C D E
> 1 carnet nivel seccion nota
> 94 204020 10 A
> 95 203920 10 A
> 96 209290 10 A
> 97 290902 10 A
>
> las filas entre A1 y A94 fueron ocultadas ya que contienen estudiantes


de
> otra seccion, lo que yo necesito es que la macro tenga la instruccion de
> irse a la celda E 94 para que pegue los valores de las notas, pero no


puedo
> usar la instruccion : Range("E94").Select por que cuando sea otra


lista la
> que haya filtrado por ejemplo la seccion 10 - B la primer celda filtrada


de
> la lista no sea la E94 si no cualquier otra,
> lo que necesito es una instruccion que le indique a la macro irse a la
> primer celda de la lista filtrada (E94 en este caso)y la seleccione para
> luego poder pegar la columna de notas.
>
> en este ejemplo es la E94 pero la idea es que si fuera la lista de otra
> seccion por ejemplo el 10-B que igual reconozca la primer celda de esa
> lista filtrada para poder pegar ahi la columna de notas de esa seccion.
> Muchisimas gracias estare eternamente agradecido si alguien puede


brindarme
> ayuda.
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida