Inicio > Microsoft Excel > darkwizard88 > Seleccionar hoja por medio de una macro

Seleccionar hoja por medio de una macro

Experto:
Usuario:
Fecha: 09/09/2008
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
08/09/2008
carlosnani, usuario preguntando en Microsoft Excel
Usuario
Hola darkwizard88, esperando que me puedas ayudar te realizo la siguiente consulta:
Estoy trabajando con un formulario en excel endonde ingreso una serie de datos y entre ellos debo elegir en que hoja seran ingresados estos datos, las opciones para loas hojas las tengo dadas por 3 optionboton dentro de un marco (hoja1, hoja2 y hoja3), mi consulta es ¿que codigo deberia utilizar para que los datos ingresados queden en la hoja seleccionada?.
Desde ya muchas gracias por tu ayuda.
08/09/2008
carlosnani, experto respondiendo en Microsoft Excel
Experto
Private Sub CommandButton1_Click()
Range("C1:D10").Copy
If OptionButton1 Then
    Sheets("Hoja1").Select
    Hoja1.Range("C1").Select
End If
If OptionButton2 Then
    Sheets("Hoja2").Select
    Hoja2.Range("C1").Select
End If
If OptionButton3 Then
    Sheets("Hoja3").Select
    Hoja3.Range("C1").Select
End If
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("hoja10").Select
Range("A1").Select
End Sub

Te explico, yo supuse que tenias una Hoja en donde metias los datos (hoja10 es el nombre que le di yo), esos datos son los que estan dentro del rango C1:D10 en mi caso, tu tendrás que sustituirlo por el rango que corresponda.
Pues bien, lo que yo hice fué lo siguiente:
Cree los tres option button y un command button.
Introduje los datos dentro de ese rango después seleccione un option button y al finalizar pues le doy al command button que es donde tengo puesto ese código.
Al clickar en el boton lo que me hace es que me copia los datos de ese rango y según el option button que ese seleccionado selecciona una u otra hoja (tu tambien tendrás que cambiar el nombre de las hojas en caso de no corresponderse), lo pega y bueno, después puse para que volviera a la hoja principal y deseleccionara todo.
Una cosa a comentar, es que esto se puede hacer de otra manera, sin usar el command button, aunque yo no soy partidario por una razón, que aunque tiene una solución es bastante tonteria hacerlo asi...
Se puede poner directamente la macro dentro del option button, pero claro, imaginate que por error seleccionas uno, automaticamente te lo pegaria ahi... esto se podría solucionar con un mensaje de confirmación, pero yo personalmente, soy partidario de este metodo, así seleccionas el que quieras y aún despues de seleccionarlo puedes modificar los datos, puedes volver a cambiar de option button... y cuando ya si hayas acabado pues le das para que lo copie.
Bueno, si quieres que te ponga como sería de la otra forma dimelo y cualquier otra duda aqui me tienes, saludos.
08/09/2008
carlosnani, usuario preguntando en Microsoft Excel
Usuario
Hola darkwizard88, te doy gracias por el codigo que me enviaste, pero me gustaria saber si esto sera posible realizarlo por medio de una rutina, la que pueda ser llamada de cualquiera de los optinboton sin necesidad de escribir todo el codigo en cada optionboton ya que el codigo que yo necesito escribir es demasiado largo.
Si tu consideras necesario que te envie la aplicación para ver la forma de realizar lo que yo necesito te la puedo enviar simpre que tu me envies tu dirección de correo, la mia es la siguiente: cgchr@hotmail.com
08/09/2008
carlosnani, experto respondiendo en Microsoft Excel
Experto
No se si no te he entendido ahora o al revés.
El código que esta ahi arriba lo tienes que escribir una única vez.
Lo único que tienes que hacer es donde estan los option button añadir un command button, el cual tendrá esa macro y ya esta, no tienes que escribirla en varios sitios.
Si lo que te refieres es a otra cosa, por favor, hazmelo saber.
Saludos.
09/09/2008
carlosnani, usuario preguntando en Microsoft Excel
Usuario
darkwizard88 Muchas gracias por tu ayuda me fue muy util, acabo de utilizar el código que tu me enviaste y me sirvio mucho, más aún que ya me encontraba apremiado por el tiempo ya que debo entregar esta aplicación la proxima semana.
Atentamente Carlos Chandía R.
Enlaces patrocinados