Seleccionar hoja por medio de una macro

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 serán 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 ¿qué código debería utilizar para que los datos ingresados queden en la hoja seleccionada?.
Desde ya muchas gracias por tu ayuda.
1

1 respuesta

1
Respuesta de
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 metías los datos (hoja10 es el nombre que le di yo), esos datos son los que están dentro del rango C1:D10 en mi caso, tu tendrás que sustituirlo por el rango que corresponda.
Pues bien, lo que yo hice fue 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 botón 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 también 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 tontería hacerlo así...
Se puede poner directamente la macro dentro del option button, pero claro, imaginate que por error seleccionas uno, automáticamente te lo pegaría ahí... esto se podría solucionar con un mensaje de confirmación, pero yo personalmente, soy partidario de este método, así seleccionas el que quieras y aún después 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 dímelo y cualquier otra duda aquí me tienes, saludos.
Hola darkwizard88, te doy gracias por el código que me enviaste, pero me gustaría 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 código en cada optionboton ya que el código que yo necesito escribir es demasiado largo.
Si tu consideras necesario que te envíe la aplicación para ver la forma de realizar lo que yo necesito te la puedo enviar siempre que tu me envíes tu dirección de correo, la mía es la siguiente: cgchr@hotmail.com
No se si no te he entendido ahora o al revés.
El código que esta ahí arriba lo tienes que escribir una única vez.
Lo único que tienes que hacer es donde están 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, házmelo saber.
Saludos.
darkwizard88 Muchas gracias por tu ayuda me fue muy útil, acabo de utilizar el código que tu me enviaste y me sirvió mucho, más aún que ya me encontraba apremiado por el tiempo ya que debo entregar esta aplicación la próxima semana.
Atentamente Carlos Chandía R.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: