Ayuda con macro

Necesito ayuda, tengo una macro que me copia la información de dos columnas de una hoja llamada bitácora de cobros a una hoja llamada base de datos, el problema es que yo quisiera que cada vez que me copia la información me la fuera pegando en las siguientes dos columnas que estén vacías y no que me remplace la información que ya tengo.

la macro que tengo es la siguiente:

Range("O8:P8").Select
Selection.Copy
Sheets("Base de Datos").Select
Range("N2:O2").Select
ActiveSheet.Paste
Sheets("Bitácora cobros").Select
Range("O11:P682").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Base de Datos").Select
Range("N5").Select
ActiveSheet.Paste
End Sub

1 respuesta

Respuesta
1

Pero, si por ejemplo, la columna N esta vacía y también la M, L, K, J, etc, ¿siempre debe iniciar la copia en la columna N aunque todas las columnas estén vacías?

Gracias por la respuesta, te comento, lo que sucede es que las otras ya están con datos en el archivo que tengo, la columna N es la primera que estaría libre. Lo que quisiera es que cada vez que se ingrese información en las columnas N2:O2 de la hoja vitacora, me la copie a las columnas N, O, P de la hoja Base de datos,

¿No respondiste mi pregunta y si en caso de que la columna M esté libre que hago?

Ahora ya estoy confundido, tu macro dice que copia O8 y P8 a N2 y ahora dices que lo que se ingrese en N2 y O2 (2 celdas) se copie en N, ¿O y P (en tres celdas)?

Lo lamento, creo que no me supe explicar, y confundí las celdas, quisiera que lo que coloco en la celda O8:P8 de la hoja "bitácora" se copie en las celdas N2:O2 de la hoja "base de datos" y lo que se encuentre en las celdas O11:P682 de la hoja "bitácora" se copie al rango N5 de la hoja "base de datos", luego cuando alguien ingrese nueva información a la celda O8:P8 ya no me lo copie en N2:O2 sino que me lo copie en P2:Q2 y lo del rango O11:P682 me lo copie ahora en en el rango P5

Las celdas N2:O2 es una fecha, y por eso quiero que cada vez que alguien introduzca una nueva fecha y edite las demás celdas (O11:P682) estas se vayan copiando a la hoja "base de datos" como un historial de modificaciones

Gracias por tu ayuda

Pero todavía no respondes mi pregunta, ¿dónde debe empezar? ¿Siempre en la columna N?

si siempre desde la columna n porque en las anteriores columnas ya hay datos

Esta sería la macro

'Mod.Por.DAM
c = Sheets("Base de Datos").Cells(2, Columns.Count).End(xlToLeft).Column + 1
If c < 14 Then c = 14
Sheets("Bitácora cobros").Range("O8:P8").Copy Sheets("Base de Datos").Cells(2, c)
c = Sheets("Base de Datos").Cells(5, Columns.Count).End(xlToLeft).Column + 1
If c < 14 Then c = 14
Sheets("Bitácora cobros").Range("O11:P682").Copy Sheets("Base de Datos").Cells(5, c)
End Sub

Saludos.Dante Amor
Si es lo que necesitas.

Gracias por la ayuda, mira fijate que me da un error "Run-time error 1004: Cannot change part of a marged cell,

y me marca esta parte :

Sheets("Bitácora cobros").Range("O11:P682").Copy Sheets("Base de Datos").Cells(5, c)

¿Cuáles celdas tienes combinadas y de qué hoja?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas