Excel - Hacer que formulario me ingrese datos según la hoja seleccionada

   
Vista:
Imágen de perfil de JoaoM

Hacer que formulario me ingrese datos según la hoja seleccionada

Publicado por JoaoM (210 intervenciones) el 27/08/2017 23:06:01
Tengo un formulario para ingreso de datos.
Los datos son variados, por eso tengo varias hojas, Ej. "Productos", "Silverado", "CAT", "JD" ect

¿Cómo estoy haciendo?.Cuando necesito insertar en la hoja Productos voy a la macro de todo formulario y lo que menciona la hoja "Silverado", cambio por "Productos". Si menciona Productos y quiero insertar en la hoja "CAT", cambio "Productos" por "CAT"
Este modo es fastidioso y no es lo correcto pero no se hacerlo de otra forma.
Un ejemplo de lo que menciono es esto; en una de las macros tengo
Sheets("Silverado") y en otras también Sheets("Silverado").Range( y quiero Sheets("CAT") cambio Silverado por CAT en todas las macros que tenga que hacerlo.

Cual la forma de no tener que estar haciendo este cambio a cada momento, porque no es una ves al dia, son 5 ,10 o mas aun. En ese tipo de línea, que tendría que poner para que me inserte en la hoja Activa o Selecionada?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Hacer que formulario me ingrese datos según la hoja seleccionada

Publicado por JuanC juanc2942@gmail.com (1225 intervenciones) el 28/08/2017 00:41:57
creo que lo mejor es trabajar con una variable, mini ejemplo

1
2
3
4
5
6
7
8
9
10
11
'variable
Dim ws As Worksheet
 
'asigna la hoja que va a trabajar (diferentes formas)
Set ws = ActiveSheet
Set ws = Hoja1
Set ws = Sheets(1)
Set ws = Sheets("Hoja2")
 
'trabaja sobre la hoja en el rango especificado
ws.Range("A1").Value = 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de JoaoM

Hacer que formulario me ingrese datos según la hoja seleccionada

Publicado por JoaoM (210 intervenciones) el 28/08/2017 02:35:05
Hola juanc. Gracias por responder

Lo que hago es que; estoy insertando en una hoja y seguido tener que cambiar de hoja
Estas no me sirven
1
2
3
Set ws = Hoja1
Set ws = Sheets(1)
Set ws = Sheets("Hoja2")
porque caigo en lo mismo, tener que entrar al editor para cambiar la linea de la hoja
El Set ws = ActiveSheet podria ser, solo tener un buton en cada hoja

Con esta Set ws = ActiveSheet puedo colocar al inicio del codigo del formulario? para servir en todas las macros del form?
Algo así
1
2
Dim ws As Worksheet
Set ws = ActiveSheet
--------------------------------------
Coloque como se ve en la imagen y me sale esto

aa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

Hacer que formulario me ingrese datos según la hoja seleccionada

Publicado por Antoni Masana (591 intervenciones) el 28/08/2017 06:54:36
El idea es correcto solo que la forma de hacerlo no es la que funciona

Pon este codigo al Activar el formulario y sabrás desde que hoja a siro llamaro

1
Nombre_Hoja = ActivateSheet.name

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Hacer que formulario me ingrese datos según la hoja seleccionada

Publicado por JuanC juanc2942@gmail.com (1225 intervenciones) el 28/08/2017 12:29:09
el error se debe a que estás poniendo código fuera del procedimiento Sub
sólo se permite la declaración de variables globales fuera de procedimiento (Sub) y funciones (Function)
si hubieras publicado el libro te evitarías todas estas idas y vueltas, ya estaría resuelto...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Hacer que formulario me ingrese datos según la hoja seleccionada

Publicado por JuanC juanc2942@gmail.com (1225 intervenciones) el 28/08/2017 13:43:40
te hice un ejemplo con botones en cada hoja
todos llaman al mismo procedimiento... (quizá te sirva de algo!)

https://www.sendspace.com/file/1cavpm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de JoaoM

Hacer que formulario me ingrese datos según la hoja seleccionada

Publicado por JoaoM (210 intervenciones) el 28/08/2017 22:50:36
Hola juanc
Opte por meter la declaracion en inicio del codigo del form y Set ws = ActiveSheet en cada macro donde hace falta y funciona.

Gracias por intervenior Antoni Masana
En el evento initialize tengo Label24.Caption = ActiveSheet.Name para saber en que hoja esta el form, cosa que no hace falta porque al seleccionar la hoja donde vas a insertar, ya estaactiva esa hoja pero, solo por lujo.
Gracias a los 2 por su intervencion y ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar