Macro Copiar datos entre hojas excel

Hola, quisiera si es posible me resolvierasuna duda que tengo acerca de una macro que he creadO:
La cuestión es que dicha macro coge los datos que hay en una fila de una hoja "Factura" (C64:G64) los copia y los pega en una fila en otra hoja "Registro de Facturas" sin que quede ninguna fila en blanco
pero el problema es que quiero que comiece a pegar los datos en la (fila 3 columna B) y así sucesivamente hacia abajo, pero no lo consigo:
Estas son las instrucciones:
Dim Celda As Integer
Range("C64:G64").Copy
'Range("C64:G64").Select
Sheets("Registro de Facturas").Select
'Selection.Copy
Fila = 3
Columna = 2
Do While Cells(Fila, 3)(Columna, 2).Value <> ""
If Cells(Fila, 3).Value = "" Then Exit Do
Fila = Fila + 1
Loop
Cells(Fila, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Que debo Modificar
Gracias y espero su respuesta.

1 respuesta

Respuesta
1
Si la col A estará siempre en blanco, con estos ajustes hará lo que necesitas:
Sub copiar()
'Dim Celda As Integer
Range("C64:G64").Copy
'Range("C64:G64").Select
Sheets("Registro de Facturas").Select
fila = 3 (*)
columna = 2 (*)
Cells(fila,columna).Select (*)
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Si siempre será la celda B3 no será necesario utilizar variables celda columna, sino directamente esta instrucción en lugar de (*):
Activesheet.range("B3").select
Pruébala y comentame si en el conjunto de tus instrucciones esto realiza lo que estás necesitando.
Saludos
Elsa
** Nuevo manual Excel + manual Introducción a las macros, desde:
Gracias por tu respuesta pero no es exactamente, ya que en la hoja registro de facturas se irán borrando manualmente algunos regsitos de facturas quedando el hueco en blanco y la macro que había creado, resvisaba las filas y en el 1ºhueco que encontraba, colocaba la información.
Lo que quisiera es que dicha información se empezara a colocar en (fila 3 columna B)y así hacia abajo
¿Es eso posible?
Ya sé que tu macro revisaba las filas hasta encontrar un hueco en blanco... pero mencionaste que no querés colocar el registro allí sino a partir de la celda B3 hacia derecha... y eso hace la macro
Parece que no nos estamos entendiendo
Por favor pruébala de nuevo, le ajusté lo que te mencioné en respuesta anterior:
Sub copiar()
Range("C64:G64").Copy
Sheets("Registro de Facturas").Select
Range("B3").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas