macro para copiar datos a otra hoja

05/11/2007 - 02:03 por charly_76 | Informe spam
hola saludos me llamo juan carlos

ojala me puedan ayudar tengo un libro de excel
donde se ingresan datos de la celda A1 hasta G1 en la hoja1
unicamente esas celdas. y necesito una macro que cuando
escriban en la ultima celda "G1" esa informacion se copie
ala hoja 2 en el mismo orden (solo valores) y que una ves
copiado las celdas originales de la hoja1 se limpien para ingresar
nuevos datos y esos datos se copien abajo de los anteriores en la
hoja2 y asi sucesivamente hasta tener una lista la idea de esto es
que la persona que ingresa sus datos no pueda ver los datos de la
persona anterior ya que la hoja 2 estaria oculta

ojala que alguien me pueda ayudar y muchas gracias

Preguntas similare

Leer las respuestas

#6 charly_76
07/11/2007 - 16:27 | Informe spam
ivan me sirvio muchisimo la macro que me
enviaste te agradesco que te hayas tomado la
molestia de ayudarme como te habras dado cuenta
no conosco de macros y para mi es de gran ayuda este
foro y las personas como tu que estan dispuestas
a echarte una mano

gracias...


"Ivan" escribió:

hola Juan Carlos,

>, solo la primera ves manda los datos capturados ala hoja2
> lo que capturo despues los pega en la misma hoja1
> ya no los envia ala otra hoja

disculpame de nuevo, ahora me he comido un punto justo delante de =>

[a65536].End(xlUp).Offset(1))

(al truncarse el 1er codigo se quedo en la fila de arriba, y al
rectificar no me di cuenta y se borro)

hay que poner un punto justo antes, quedando asi:

Set celda = IIf(.[a1] = "", .[a1], _
.[a65536].End(xlUp).Offset(1))

pon el cursor justo delante (pegado) del 1er corchete y simplemente
pon un punto.

prueba a ver que tal

solo por si no lo sabes, el motivo del punto es para indicarle al
codigo que la propiedad/metodo/objeto que va a continuacion (la 1*
celda vacia de la columna A en este caso) es/pertenece/hace referencia
al objeto ("Hoja2" en este caso) que va en la apertura del bloque With
('With Worksheets("Hoja2"))

bueno, lo dicho por si no lo sabes, para que te vaya sonando un poco

un saludo y si siguen los problemas comentas (en cuanto al otro
codigo, si no entendi mal tu consulta inicial creo que [con el punto]
este podria valerte. Si no es asi le ECHAMOS (se me colo la h) un ojo

Ivan


Respuesta Responder a este mensaje
#7 Ivan
07/11/2007 - 17:00 | Informe spam
hola de nuevo, Juan Carlos,

me alegro que e haya servido, pero permiteme una puntualizacion sobre
el codigo para evitarte posibles problemas:


donde pongo=>

With Hoja2

aunque habras visto que te funciona, en realidad deberia (o mejor
dicho, convendria, por lo que ahora te explico) poner=>

'With Worksheets("Hoja2")

y/o sustituir en esta expresion el "Hoja2", tambien entre comillas,
por el nombre real de tu hoja si no fuese este.

el motivo de la aclaracion es el siguiente: al hacer referencia a la
hoja de la 1ª forma ( Hoja2 a secas) en relidad no estas usando el
nombre de la hoja (aunque pueda [ e inicialmente suela] coincidir con
este ) sino el CodeName que es una propiedad diferente del Name.

el Name, que es al que harias referencia de la 2ª forma que te pongo,
es el nombre real de la hoja, es decir el que ves en la pestaña de la
misma. Mientras que el CodeName es el nombre que le asigna Vba a dicha
hoja, y aunque al abrir un libro estos suelen coincidir, si pej.
modificas alguno, y/o eliminas e insertas alguna hoja te puedes
encontrar conque estos no coincidan y llevarte un disgusto.

si tienes interes, para intentar entenderlo un poco mejor si quieres
haz esto.

1º) Abre un libro nuevo (con varias hojas a ser posible), ve al
editor de vba (alt+f11) y observa en el explorador de proyectos (si no
esta abierto activalo en el menu ver o pulsa ctrl+r ) y fijate en los
nombres que aparecen: como no habras modificado nada, seguramente
veras que aparecen Hoja1(Hoja1), Hoja2(Hoja2), etc. que corresponden a
los modulos de cada hoja

2ª) vuelve a excel (alt+f11) y cambiale el nombre a alguna de las
hojas. Alt + f11 de nuevo y observa de nuevo el explorador. En la hoja
cambiada deberia poner algo asi HojaN(Nuevo_Nombre)

3º) y para remate, pej. si eliminas alguna hoja e insertas otra
durante la misma sesion, la numeracion va creciendo, es decir, aunque
hayas eliminado la Hoja1 te añadira una Hoja4 (si originalmente eran
3). Sin embbargo si cierras y vuelves a abrir el libro y hay algun
'hueco' libre ira tomando esos huecos para las nuevas hojas

en fin un poco galimatias, pero hasta que lo controles lo mejor es
usar=>

Worksheets("Nombre_de_la_hoja")

el codename yo suelo usarlo por comodidad para las respuestas de los
foros, pero normalmente intento cambiarlo por el Name antes de enviar
para no crear confusion. Pero en este caso se me paso. Disculpas de
nuevo

un saludo
Ivan

PD: espero no habere hecho un lio
Respuesta Responder a este mensaje
#8 charly_76
08/11/2007 - 03:21 | Informe spam
Ivan nuevamente mis respetos el que sabe sabe
hice lo que me dijiste y todo de maravilla.
honestamente nunca hubiera detectado ese detalle
hasta que me diera problemas (y no sabria yo por que)
muchas gracias y saludos...

"Ivan" escribió:

hola de nuevo, Juan Carlos,

me alegro que e haya servido, pero permiteme una puntualizacion sobre
el codigo para evitarte posibles problemas:


donde pongo=>

With Hoja2

aunque habras visto que te funciona, en realidad deberia (o mejor
dicho, convendria, por lo que ahora te explico) poner=>

'With Worksheets("Hoja2")

y/o sustituir en esta expresion el "Hoja2", tambien entre comillas,
por el nombre real de tu hoja si no fuese este.

el motivo de la aclaracion es el siguiente: al hacer referencia a la
hoja de la 1* forma ( Hoja2 a secas) en relidad no estas usando el
nombre de la hoja (aunque pueda [ e inicialmente suela] coincidir con
este ) sino el CodeName que es una propiedad diferente del Name.

el Name, que es al que harias referencia de la 2* forma que te pongo,
es el nombre real de la hoja, es decir el que ves en la pestaqa de la
misma. Mientras que el CodeName es el nombre que le asigna Vba a dicha
hoja, y aunque al abrir un libro estos suelen coincidir, si pej.
modificas alguno, y/o eliminas e insertas alguna hoja te puedes
encontrar conque estos no coincidan y llevarte un disgusto.

si tienes interes, para intentar entenderlo un poco mejor si quieres
haz esto.

1:) Abre un libro nuevo (con varias hojas a ser posible), ve al
editor de vba (alt+f11) y observa en el explorador de proyectos (si no
esta abierto activalo en el menu ver o pulsa ctrl+r ) y fijate en los
nombres que aparecen: como no habras modificado nada, seguramente
veras que aparecen Hoja1(Hoja1), Hoja2(Hoja2), etc. que corresponden a
los modulos de cada hoja

2*) vuelve a excel (alt+f11) y cambiale el nombre a alguna de las
hojas. Alt + f11 de nuevo y observa de nuevo el explorador. En la hoja
cambiada deberia poner algo asi HojaN(Nuevo_Nombre)

3:) y para remate, pej. si eliminas alguna hoja e insertas otra
durante la misma sesion, la numeracion va creciendo, es decir, aunque
hayas eliminado la Hoja1 te aqadira una Hoja4 (si originalmente eran
3). Sin embbargo si cierras y vuelves a abrir el libro y hay algun
'hueco' libre ira tomando esos huecos para las nuevas hojas

en fin un poco galimatias, pero hasta que lo controles lo mejor es
usar=>

Worksheets("Nombre_de_la_hoja")

el codename yo suelo usarlo por comodidad para las respuestas de los
foros, pero normalmente intento cambiarlo por el Name antes de enviar
para no crear confusion. Pero en este caso se me paso. Disculpas de
nuevo

un saludo
Ivan

PD: espero no habere hecho un lio


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