USER FORM

19/10/2006 - 06:08 por LUIS DANNY SALAS | Informe spam
Hola estimados amigos.
Tengo un user form donde el usuario especifica un par de criterios y
presiona un boton con una macro asignada que que autoflitra de una lista
una serie de nombres y los pega en un determinado campo de una hoja .
Funciona bien, lo que pasa es que la lista que selecciono y debio pegar no
aparece hasta que le doy click para cerrar el user form, lo que quisiera
saber es cual instruccion le pongo al codigo de la macro para que aparezca
la lista de una vez o en su defecto cierre automaticamente el user form y ya
quede la lista pegada.
no se si me explique bien.
Agradezco la ayuda

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
19/10/2006 - 08:45 | Informe spam
hola, Luis !

Tengo un user form donde el usuario especifica un par de criterios y presiona un boton con una macro asignada
que autoflitra de una lista una serie de nombres y los pega en un determinado campo de una hoja.
Funciona bien, lo que pasa es que la lista que selecciono y debio pegar no aparece hasta que le doy click para cerrar el user form
lo que quisiera saber es cual instruccion le pongo al codigo de la macro para que aparezca la lista de una vez
o en su defecto cierre automaticamente el user form y ya quede la lista pegada. no se si me explique bien.



1) convendria si expones el codigo con el que haces el 'pase' de la lista filtrada al 'determinado campo de una hoja' :D

2) es -solo- 'probable' que dicho 'pase' lo hayas puesto en el evento '_terminate' del formulario -?-
-> prueba a cambiarlo/moverlo/llamarlo/... al final evento '_click' -> del boton que hace el autofiltro -?-
o... agregar otro boton que ralice dicha operacion -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Héctor Miguel
21/10/2006 - 03:02 | Informe spam
hola, Luis !

Aqui esta el codigo, (MATRICULA es la hoja de donde se filtra y copia la lista, y REGISTRO es la hoja donde se pega )
lo hace bien pero la lista aparece en la hoja registro hasta que cierro el user form.



1) [aparentemente]... el codigo esta haciendo 'exactamente' lo que le dices que haga [en tiempo, en forma y en lugar] :))

2) [probablemente] mientras 'persista' la instruccion: -> Application.ScreenUpdating = False
-> a menos que otro codigo cambie la instruccion a: -> Application.ScreenUpdating = True...
[o se termine de ejecutar el codigo]
no se actualiza 'el refresco' de la pantalla [ni ves lo que hace el codigo en la ventana del excel] -?-

comentas [si hubiera] algun otro detalle ?
saludos,
hector.

__ el codigo expuesto __
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("MATRICULA").Select
ActiveSheet.Unprotect
Range("A2").Select
Range("A1:Z2565").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheets("REGISTRO").Range("Q165:W166"), CopyToRange:=Range("AG1"), Unique:= _
False
Range("AG2:AI43").Select
Selection.Sort Key1:=Range("AH2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("AF2").Select
Range("AG2:AI43").Select
Selection.Sort Key1:=Range("AI2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("AF2").Select
Range("AG2:AG43").Select
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("REGISTRO").Select
ActiveWindow.SmallScroll Down:=-63
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D4").Select
Sheets("MATRICULA").Select
Application.CutCopyMode = False
Range("AG1:BF1").Select
Selection.EntireColumn.Delete
Range("A5004").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
ActiveSheet.Protect
ActiveSheet.EnableSelection = xlNoSelection
Sheets("REGISTRO").Select
Range("D4").Select
End Sub
Respuesta Responder a este mensaje
#3 LUIS DANNY SALAS
21/10/2006 - 03:36 | Informe spam
Aqui esta el codigo, (MATRICULA es la hoja de donde se filtra y copia la
lista, y REGISTRO es la hoja donde se pega )
lo hace bien pero la lista aparece en la hoja registro hasta que cierro el
user form.
gracias

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Sheets("MATRICULA").Select
ActiveSheet.Unprotect
Range("A2").Select
Range("A1:Z2565").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheets("REGISTRO").Range("Q165:W166"), CopyToRange:=Range("AG1"),
Unique:= _
False
Range("AG2:AI43").Select
Selection.Sort Key1:=Range("AH2"), Order1:=xlAscending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("AF2").Select
Range("AG2:AI43").Select
Selection.Sort Key1:=Range("AI2"), Order1:=xlAscending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("AF2").Select
Range("AG2:AG43").Select
Selection.Copy
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("REGISTRO").Select
ActiveWindow.SmallScroll Down:=-63
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Range("D4").Select
Sheets("MATRICULA").Select
Application.CutCopyMode = False
Range("AG1:BF1").Select
Selection.EntireColumn.Delete
Range("A5004").Select
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
ActiveSheet.Protect
ActiveSheet.EnableSelection = xlNoSelection
Sheets("REGISTRO").Select
Range("D4").Select
End Sub


"Héctor Miguel" wrote in message
news:e%
hola, Luis !

> Tengo un user form donde el usuario especifica un par de criterios y


presiona un boton con una macro asignada
> que autoflitra de una lista una serie de nombres y los pega en un determ


inado campo de una hoja.
> Funciona bien, lo que pasa es que la lista que selecciono y debio pegar


no aparece hasta que le doy click para cerrar el user form
> lo que quisiera saber es cual instruccion le pongo al codigo de la macro


para que aparezca la lista de una vez
> o en su defecto cierre automaticamente el user form y ya quede la lista


pegada. no se si me explique bien.

1) convendria si expones el codigo con el que haces el 'pase' de la lista


filtrada al 'determinado campo de una hoja' :D

2) es -solo- 'probable' que dicho 'pase' lo hayas puesto en el evento


'_terminate' del formulario -?-
-> prueba a cambiarlo/moverlo/llamarlo/... al final evento '_click' ->


del boton que hace el autofiltro -?-
o... agregar otro boton que ralice dicha operacion -?-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.


Respuesta Responder a este mensaje
#4 LUIS DANNY SALAS
21/10/2006 - 09:01 | Informe spam
GRACIAS!!!!!
"Héctor Miguel" wrote in message
news:
hola, Luis !

> Aqui esta el codigo, (MATRICULA es la hoja de donde se filtra y copia


la lista, y REGISTRO es la hoja donde se pega )
> lo hace bien pero la lista aparece en la hoja registro hasta que cierro


el user form.

1) [aparentemente]... el codigo esta haciendo 'exactamente' lo que le


dices que haga [en tiempo, en forma y en lugar] :))

2) [probablemente] mientras 'persista' la instruccion: ->


Application.ScreenUpdating = False
-> a menos que otro codigo cambie la instruccion a: ->


Application.ScreenUpdating = True...
[o se termine de ejecutar el codigo]
no se actualiza 'el refresco' de la pantalla [ni ves lo que hace el


codigo en la ventana del excel] -?-

comentas [si hubiera] algun otro detalle ?
saludos,
hector.

__ el codigo expuesto __
> Private Sub CommandButton1_Click()
> Application.ScreenUpdating = False
> Sheets("MATRICULA").Select
> ActiveSheet.Unprotect
> Range("A2").Select
> Range("A1:Z2565").AdvancedFilter Action:=xlFilterCopy,


CriteriaRange:= _
> Sheets("REGISTRO").Range("Q165:W166"), CopyToRange:=Range("AG1"),


Unique:= _
> False
> Range("AG2:AI43").Select
> Selection.Sort Key1:=Range("AH2"), Order1:=xlAscending,


Header:=xlGuess, _
> OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
> Range("AF2").Select
> Range("AG2:AI43").Select
> Selection.Sort Key1:=Range("AI2"), Order1:=xlAscending,


Header:=xlGuess, _
> OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
> Range("AF2").Select
> Range("AG2:AG43").Select
> Selection.Copy
> ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
> ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
> Sheets("REGISTRO").Select
> ActiveWindow.SmallScroll Down:=-63
> Range("C4").Select
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,


SkipBlanks _
> :=False, Transpose:=False
> Range("D4").Select
> Sheets("MATRICULA").Select
> Application.CutCopyMode = False
> Range("AG1:BF1").Select
> Selection.EntireColumn.Delete
> Range("A5004").Select
> ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
> ActiveSheet.Protect
> ActiveSheet.EnableSelection = xlNoSelection
> Sheets("REGISTRO").Select
> Range("D4").Select
> End Sub


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