Macro al cambiar de hoja

25/06/2004 - 09:42 por Jose Miguel | Informe spam
Hola amigos: Tengo un boton que me ejucuta una macro que
me organiza alfabeticamente una hoja con datos.
Desde el boton me lo hace perfectamente, pero me gustaría
que al cambiar de hoja me lo hiciera. No lo he conseguido.
La macro es esta:
Private Sub CommandButton1_Click()
Range("A2").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
End Sub
Gracias.

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
25/06/2004 - 11:00 | Informe spam
Puedes usar los eventos Workbook_SheetActivate o Workbook_SheetDeactivate, dependiendo de lo que necesites hacer...
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Jose Miguel" escribió en el mensaje news:213e001c45a87$f4748be0$
Hola amigos: Tengo un boton que me ejucuta una macro que
me organiza alfabeticamente una hoja con datos.
Desde el boton me lo hace perfectamente, pero me gustaría
que al cambiar de hoja me lo hiciera. No lo he conseguido.
La macro es esta:
Private Sub CommandButton1_Click()
Range("A2").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
End Sub
Gracias.
Respuesta Responder a este mensaje
#2 Jose Miguel
25/06/2004 - 11:43 | Informe spam
Lo primero, muchas gracias por contestar Fernando:
Los dos eventos que mencionas ya los he probado, pero me
da el siguiente error: "Se ha producido el error `1004Žen
tiempo de ejucucíon: Fallo en el método Select de la clase
Range. Y ya aqui, si que me pierdo
Gracias
Puedes usar los eventos Workbook_SheetActivate o


Workbook_SheetDeactivate, dependiendo de lo que necesites
hacer...
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Jose Miguel"


escribió en el mensaje news:213e001c45a87$f4748be0
$
Hola amigos: Tengo un boton que me ejucuta una macro que
me organiza alfabeticamente una hoja con datos.
Desde el boton me lo hace perfectamente, pero me gustaría
que al cambiar de hoja me lo hiciera. No lo he conseguido.
La macro es esta:
Private Sub CommandButton1_Click()
Range("A2").Select
Selection.Sort Key1:=Range("A2"),


Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
End Sub
Gracias.
.

Respuesta Responder a este mensaje
#3 Fernando Arroyo
25/06/2004 - 12:38 | Informe spam
A mí el siguiente código:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Hoja1" Then Sh.Range("A2").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

no me da error. Si no consigues que te funcione, te puedo enviar el libro donde lo he probado.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Jose Miguel" escribió en el mensaje news:2164401c45a98$e5fd5450$
Lo primero, muchas gracias por contestar Fernando:
Los dos eventos que mencionas ya los he probado, pero me
da el siguiente error: "Se ha producido el error `1004Žen
tiempo de ejucucíon: Fallo en el método Select de la clase
Range. Y ya aqui, si que me pierdo
Gracias
Puedes usar los eventos Workbook_SheetActivate o


Workbook_SheetDeactivate, dependiendo de lo que necesites
hacer...
Un saludo.


Fernando Arroyo
MS MVP - Excel

Respuesta Responder a este mensaje
#4 Jose Miguel
25/06/2004 - 13:17 | Informe spam
Fernando: Si eres tan amable mandame el libro con el
ejemplo, pues yo no soy capaz de hacerlo funcionar.
Hasta el lunes no lo voy a poder mirar, pero ya te lo
comentare.
Mi dirección de correo es zepelin@@@@@@@@@euskalnet.net
(dejar una arroba)
Muchas gracias y un saludo.
A mí el siguiente código:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Hoja1" Then Sh.Range("A2").Sort


Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess,
OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
End Sub

no me da error. Si no consigues que te funcione, te puedo


enviar el libro donde lo he probado.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Jose Miguel"


escribió en el mensaje news:2164401c45a98$e5fd5450
$
Lo primero, muchas gracias por contestar Fernando:
Los dos eventos que mencionas ya los he probado, pero me
da el siguiente error: "Se ha producido el error `1004Žen
tiempo de ejucucíon: Fallo en el método Select de la


clase
Range. Y ya aqui, si que me pierdo
Gracias
Puedes usar los eventos Workbook_SheetActivate o


Workbook_SheetDeactivate, dependiendo de lo que necesites
hacer...
Un saludo.


Fernando Arroyo
MS MVP - Excel




.

Respuesta Responder a este mensaje
#5 Jose Miguel
25/06/2004 - 17:35 | Informe spam
Funciona de maravilla, muchas gracias.
Fernando: Si eres tan amable mandame el libro con el
ejemplo, pues yo no soy capaz de hacerlo funcionar.
Hasta el lunes no lo voy a poder mirar, pero ya te lo
comentare.
Mi dirección de correo es zepelin@@@@@@@@@euskalnet.net
(dejar una arroba)
Muchas gracias y un saludo.
A mí el siguiente código:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Hoja1" Then Sh.Range("A2").Sort


Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess,
OrderCustom:=1, MatchCase:=False,
Orientation:=xlTopToBottom
End Sub

no me da error. Si no consigues que te funcione, te




puedo
enviar el libro donde lo he probado.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Jose Miguel"


escribió en el mensaje news:2164401c45a98$e5fd5450
$
Lo primero, muchas gracias por contestar Fernando:
Los dos eventos que mencionas ya los he probado, pero me
da el siguiente error: "Se ha producido el error




`1004Žen
tiempo de ejucucíon: Fallo en el método Select de la


clase
Range. Y ya aqui, si que me pierdo
Gracias
Puedes usar los eventos Workbook_SheetActivate o


Workbook_SheetDeactivate, dependiendo de lo que




necesites
hacer...
Un saludo.


Fernando Arroyo
MS MVP - Excel




.



.

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