como se hace para que una macro que pega datos en excel vaya avan.

05/02/2005 - 23:41 por elra_ul | Informe spam
hola: el problema es este, se trata de una macro en excel que me copia los
datos de una tabla y los pega en otra, ( son entradas y salidas de caja) pero
no he podido hacer que los vaya pegando secuencialmente en la tabla , o sea
siempre los pega en la misma fila de la tabla, se que se trata de un comando
de visual basic, que debo agregar al final de la macro, pero no se cual es...

Preguntas similare

Leer las respuestas

#1 KL
06/02/2005 - 01:12 | Informe spam
Hola elra_ul,

?Por que no expones aqui tu codigo? - sera mucho mas facil ofrecerte alguna
solucion.

De momento te puedo recomendar lo siguiente. Suponiendo q la tabla de
destino se encuentra en una hoja aparte q se llama Hoja2 y para todos los
registros la columna [A] necesariamente tendra un valor (o sea q no puede
quedar vacia), puedes encontrar el ultimo registro y luego la primera fila
en blanco mediante la siguiente instruccion:

Sub Test()
With Sheets("Hoja2")
FilaNuevoRegistro=.Cells(.Rows.Count,1).End(xlUp).Row + 1
MsgBox FilaNuevoRegistro
End With
End Sub

Saludos,
KL

"elra_ul" wrote in message
news:
Mostrar la cita
#2 elra_ul
06/02/2005 - 02:43 | Informe spam
va el codigo, pero no se si entendiste la pregunta, KL la hoja del libro de
origen y destino es la misma, la macro solo lo copia a otra parte de la hoja,
el problema es que siempre la pega en la misma fila de la tabla, y yo
quieroque la pegue en la fila de abajo de el registro anterior y asi
sucesivamente, de todas maneras muchas gracias por tu respuesta, va el codigo
de la macro, para ver si me puedes ayudar..

Sub guardar()
'
' guardar Macro
' Macro grabada el 04/02/2005 por ElRa
'

'
Range("I3").Select
Selection.Copy
Range("I24").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Selection.ClearContents
Range("I3").Select
Selection.Copy
Application.Run Range("AUTOSAVE.XLA!mcs02.OnTime")
Range("I3").Select
Selection.Copy
Range("I24").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("F11:G12").Select
Application.CutCopyMode = False
Selection.Copy
Range("J24").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("F3:G4").Select
Application.CutCopyMode = False
Selection.Copy
Range("K24").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("F7:G8").Select
Application.CutCopyMode = False
Selection.Copy
Range("L24").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("H6:H7").Select
Application.CutCopyMode = False
Selection.Copy
Range("M24").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("H3:H4").Select
Application.CutCopyMode = False
Selection.Copy
Range("N24").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("I25").Select
End Sub

Mostrar la cita
#3 KL
06/02/2005 - 03:03 | Informe spam
Hola elra_ul,

Mostrar la cita
Ahora veo q la entendi perfectamente a la primera, lo q pasa es q a falta de
mas informacion asumi q con el ejemplo q te puse en mi mensaje anterior te
daria las pistas suficientes.

Mostrar la cita
Esto tiene poca importancia si la tabla de origen se encuentra por encima de
la de destino.

Mostrar la cita
Desgraciadamente, el macro q expones tiene poco sentido ya q al parecer has
ido grabando todas tus acciones incluidas las q efectuaste en falso o
incorrectamente, etc. ?Puedes explicar de q rango de la primera tabla
quieres copiar el registro (solo valores) a una fila vacia de la segunda
tabla? ?Es siempre el mismo el rango de origen o tambien es dinamico al
igual q el de destino? ?Comentas mas detalles?

Saludos,
KL
#4 KL
06/02/2005 - 03:15 | Informe spam
Hola nuevamente,

A continuacion te pongo tu codigo depurado:

Sub guardar()
Range("I3").Copy
Range("I24").PasteSpecial Paste:=xlValues
Range("F11:G12").Copy
Range("J24").PasteSpecial Paste:=xlValues
Range("F3:G4").Copy
Range("K24").PasteSpecial Paste:=xlValues
Range("F7:G8").Copy
Range("L24").PasteSpecial Paste:=xlValues
Range("H6:H7").Copy
Range("M24").PasteSpecial Paste:=xlValues
Range("H3:H4").Copy
Range("N24").PasteSpecial Paste:=xlValues
End Sub

Sigo sin encontrarle sentido, ya que, mientras esta claro q intentas pegar
los datos a la fila 24 (q es la q entiendo hay q hacer dinamica), los rangos
de origen me parecen caoticos/impredecibles dado q varian sus dimensiones
tanto en vertical como en horizontal y su posicion en la hoja. Si crees q te
sera dificil explicar la estructura de las dos tablas por escrito puedes
enviarme la hoja al correo electronico
quitando NOSPAM y PLEASE.

Saludos,
KL


"KL" wrote in message
news:OhGicB$
Mostrar la cita
Ads by Google
Search Busqueda sugerida