Señores ayudenme urgente

14/06/2006 - 17:37 por José Alejandro Quintana V. | Informe spam
Buen dia de nuevo disculpen tanta molestia pero de verdad me urge.

Necesito lo siguiente: en un libro de gestion de personal tengo toda la
información de cada empleado entre ellos tengo su status que puede ser
(Activo,Inactivo,Vacaciones,Permiso,Por Liquidar, Liquidado) al momento de
cargar la nomina solo me interesan los que estan activos pero que esten en
otra hoja una que se llame Activos de aqui se alimentara un libro que lleva
un control de asistencia por ende solo deben estar los que tienen el status
de activo. Mi necesidad es como hago para que automaticamente al yo cambiar
el status de un empleado de Permiso a Vacaciones o de Activo a Liquidado
este cambie en la segunda hoja osea este o no este.

de verdad que gracias por la ayuda que me puedan brindar

Preguntas similare

Leer las respuestas

#1 Francisco Mty
14/06/2006 - 18:24 | Informe spam
Podrias exponer un solo post para tu consulta.

Sub mifiltro()
Application.ScreenUpdating = False
'suponiendo los rangos A1:C1 modificalos segun tu necesidad
Range("A1:C1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="activo"
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
'Se trabaja con los nombres de hoja por default hoja1 - hoja2 - etc,
modificalo segun tu necesidad
Sheets("Hoja2").Select
ActiveSheet.Paste
Range("A1").Select
Sheets("STATUS").Select
Selection.AutoFilter
Sheets("ACTIVOS").Select
Application.ScreenUpdating = True
End Sub


Cual es la parte que no entiendes del codigo ?

Se mas explicito, este codigo te hace lo que necesitas
Respuesta Responder a este mensaje
#2 Francisco Mty
14/06/2006 - 18:29 | Informe spam
"José Alejandro Quintana V." escribió:

Buen dia de nuevo disculpen tanta molestia pero de verdad me urge.

Necesito lo siguiente: en un libro de gestion de personal tengo toda la
información de cada empleado entre ellos tengo su status que puede ser
(Activo,Inactivo,Vacaciones,Permiso,Por Liquidar, Liquidado) al momento de
cargar la nomina solo me interesan los que estan activos pero que esten en
otra hoja una que se llame Activos de aqui se alimentara un libro que lleva
un control de asistencia por ende solo deben estar los que tienen el status
de activo.



Hasta este punto el codigo te ayuda a seleccionar y copiar los datos (de la
hoja1)con estatus activo a la hoja2 que tu llamas "ACTIVOS"

Mi necesidad es como hago para que automaticamente al yo cambiar
el status de un empleado de Permiso a Vacaciones o de Activo a Liquidado
este cambie en la segunda hoja osea este o no este.

de verdad que gracias por la ayuda que me puedan brindar



Intenta copiando y pegando dentro del evento selection_change de la hoja
dentro del Editor de VBA solo el codigo evita las lineas con los "sub"

Saludos

Da mas detalles de exactamente que no es lo que te falla o que no entiendes
Respuesta Responder a este mensaje
#3 José Alejandro Quintana V.
14/06/2006 - 18:44 | Informe spam
Amigos me da error en
Sheets("STATUS").Select
Selection.AutoFilter
esta es la parte que no entiendo, no tengo muchos conocimientos sobre codigo
si crees que me puedes ayudar te lo agradezco mucho y sino tranquilo
publique otro post porque no me respondian si causa molestia disculpenme
gracias


"Francisco Mty" escribió en el
mensaje news:
Podrias exponer un solo post para tu consulta.

Sub mifiltro()
Application.ScreenUpdating = False
'suponiendo los rangos A1:C1 modificalos segun tu necesidad
Range("A1:C1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="activo"
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
'Se trabaja con los nombres de hoja por default hoja1 - hoja2 - etc,
modificalo segun tu necesidad
Sheets("Hoja2").Select
ActiveSheet.Paste
Range("A1").Select
Sheets("STATUS").Select
Selection.AutoFilter
Sheets("ACTIVOS").Select
Application.ScreenUpdating = True
End Sub


Cual es la parte que no entiendes del codigo ?

Se mas explicito, este codigo te hace lo que necesitas
Respuesta Responder a este mensaje
#4 KL
14/06/2006 - 19:41 | Informe spam
Hola Jose Alejandro,

1) al crear mas de una consulta identica...
- no aceleras nada
- corres el riesgo de perder la respuesta que buscas o no obtenerla a tiempo
- haces que el que responda pierda su tiempo respondiendo la consulta que puede haber sido contestada ya

2) Si necesitas una respuesta ajustada a tus necesidades tendras que ser mas explicito sobre los rangos y nombres que usas, p.ej.:
- el nombre de la primera hoja donde estan los datos completos
- el rango que ocupa tu tabla en la primera hoja
- si el rango de la tabla incluye titulos de las columnas
- la columna en la que esta la informacion de Status

3) Suponiendo que...
- tu tabla en la primera hoja ocupa las columnas [A:E]
- la columna en la que esta la informacion de Status es [D]
- los datos empiezan a partir de la fila [2]

Prueba hacer lo siguiente (modifica los rangos en el macro segun necesidad):

1) en la celda [A1] de la segunda hoja llamada 'Activos' pon exactamente el titulo de la columna de status tal como aparece en la tabla de la primera hoja.
2) en la celda [A2] de la segunda hoja llamada 'Activos' pon la palabra "Activo" (sin las comillas)
3) activa la primera hoja
4) haz clic derecho sobre la pestana con el nombre de la hoja en la parte de abajo de la ventana de Excel
2) elige la opcion 'Ver Codigo' para abrir el Editor VBA
3) una vez en el Editor VBA, pega el siguiente codigo en la ventana mas grande a la derecha:

'--Inicio codigo-
Private Sub Worksheet_Change(ByVal Target As Range)
' Comprobamos si ha cambiado algo en la columna Status
If Intersect(Target, [D2:D65536]) Is Nothing Then Exit Sub

' Suprimimos los mensajes de error
'On Error Resume Next
With Application
' Evitamos interferencias
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
' Borramos el informe anterior
Sheets("Activos").[A4].CurrentRegion.EntireRow.Delete
' Ejecutamos el filtro para actualizar el informe
Me.UsedRange.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Activos").[A1:A2], _
CopyToRange:=Sheets("Activos").[A4], _
Unique:=False
Sheets("Activos").[A4].CurrentRegion.EntireColumn.AutoFit
' Restablecemeos las variables de aplicacion
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
'--Fin codigo--

4) pulsa Alt+F11 para volver a la hoja
5) guarda los cambios y haz pruebas.

Saludos,
KL


"José Alejandro Quintana V." wrote in message news:
Buen dia de nuevo disculpen tanta molestia pero de verdad me urge.

Necesito lo siguiente: en un libro de gestion de personal tengo toda la
información de cada empleado entre ellos tengo su status que puede ser
(Activo,Inactivo,Vacaciones,Permiso,Por Liquidar, Liquidado) al momento de
cargar la nomina solo me interesan los que estan activos pero que esten en
otra hoja una que se llame Activos de aqui se alimentara un libro que lleva
un control de asistencia por ende solo deben estar los que tienen el status
de activo. Mi necesidad es como hago para que automaticamente al yo cambiar
el status de un empleado de Permiso a Vacaciones o de Activo a Liquidado
este cambie en la segunda hoja osea este o no este.

de verdad que gracias por la ayuda que me puedan brindar


Respuesta Responder a este mensaje
#5 Jose Alejandro Quintana V.
14/06/2006 - 20:29 | Informe spam
Cedula De Identidad Apellidos y Nombres
Fecha De Ingreso Status
Cargo

10.828.142 Acosta Pedroza Juan Jose
10/10/2005 Activo
Oficial

10.455.741 Araujo Rodriguez Gilberto Erasmo
03/09/2004 Activo
Oficial

8.075.409 Barillas Moreno Jose de los
Angeles 26/01/2006 Liquidado
Oficial

asi es mi hoja principal que se llama data, es la segunda que se llama
Activos solo quiero ver los que cumplan con esa condicion.

ya hice exactamente lo que me informastes y no corre de verdad no se que
tengo o hago mal

gracias por tu ayuda...





"KL" escribio en el mensaje
news:%
Hola Jose Alejandro,

1) al crear mas de una consulta identica...
- no aceleras nada
- corres el riesgo de perder la respuesta que buscas o no obtenerla a tiempo
- haces que el que responda pierda su tiempo respondiendo la consulta que
puede haber sido contestada ya

2) Si necesitas una respuesta ajustada a tus necesidades tendras que ser mas
explicito sobre los rangos y nombres que usas, p.ej.:
- el nombre de la primera hoja donde estan los datos completos
- el rango que ocupa tu tabla en la primera hoja
- si el rango de la tabla incluye titulos de las columnas
- la columna en la que esta la informacion de Status

3) Suponiendo que...
- tu tabla en la primera hoja ocupa las columnas [A:E]
- la columna en la que esta la informacion de Status es [D]
- los datos empiezan a partir de la fila [2]

Prueba hacer lo siguiente (modifica los rangos en el macro segun necesidad):

1) en la celda [A1] de la segunda hoja llamada 'Activos' pon exactamente el
titulo de la columna de status tal como aparece en la tabla de la primera
hoja.
2) en la celda [A2] de la segunda hoja llamada 'Activos' pon la palabra
"Activo" (sin las comillas)
3) activa la primera hoja
4) haz clic derecho sobre la pestana con el nombre de la hoja en la parte de
abajo de la ventana de Excel
2) elige la opcion 'Ver Codigo' para abrir el Editor VBA
3) una vez en el Editor VBA, pega el siguiente codigo en la ventana mas
grande a la derecha:

'--Inicio codigo-
Private Sub Worksheet_Change(ByVal Target As Range)
' Comprobamos si ha cambiado algo en la columna Status
If Intersect(Target, [D2:D65536]) Is Nothing Then Exit Sub

' Suprimimos los mensajes de error
'On Error Resume Next
With Application
' Evitamos interferencias
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
' Borramos el informe anterior
Sheets("Activos").[A4].CurrentRegion.EntireRow.Delete
' Ejecutamos el filtro para actualizar el informe
Me.UsedRange.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Activos").[A1:A2], _
CopyToRange:=Sheets("Activos").[A4], _
Unique:=False
Sheets("Activos").[A4].CurrentRegion.EntireColumn.AutoFit
' Restablecemeos las variables de aplicacion
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
'--Fin codigo--

4) pulsa Alt+F11 para volver a la hoja
5) guarda los cambios y haz pruebas.

Saludos,
KL


"José Alejandro Quintana V." wrote in message
news:
Buen dia de nuevo disculpen tanta molestia pero de verdad me urge.

Necesito lo siguiente: en un libro de gestion de personal tengo toda la
información de cada empleado entre ellos tengo su status que puede ser
(Activo,Inactivo,Vacaciones,Permiso,Por Liquidar, Liquidado) al momento de
cargar la nomina solo me interesan los que estan activos pero que esten
en
otra hoja una que se llame Activos de aqui se alimentara un libro que
lleva
un control de asistencia por ende solo deben estar los que tienen el
status
de activo. Mi necesidad es como hago para que automaticamente al yo
cambiar
el status de un empleado de Permiso a Vacaciones o de Activo a Liquidado
este cambie en la segunda hoja osea este o no este.

de verdad que gracias por la ayuda que me puedan brindar


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida