Inicio > Microsoft Excel > elsamatilde > Macro Copiar datos entre hojas excel

Macro Copiar datos entre hojas excel

Experto:
Usuario:
Fecha: 20/09/2007
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
16/09/2007
jjmoya, usuario preguntando en Microsoft Excel
Usuario
Hola, quisiera si es posible me resolvierasuna duda que tengo acerca de una macro que he creadO:
La cuestin 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 asi 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.
18/09/2007
jjmoya, experto respondiendo en Microsoft Excel
Experto
Hola:
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

Probala 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:
http://es.geocities.com/lacibelesdepunilla/manual



18/09/2007
jjmoya, usuario preguntando en Microsoft Excel
Usuario
Gracias por tu respuesta pero no es exactamente, ya que en la hoja registro de facturas se iran borrando manualmente algunos regsitos de facturas quedando el hueco en blanco y la macro que habia creado, resvisaba las filas y en el 1ºhueco que encontraba, colocaba la informacion.

Lo que quisiera es que dicha informacion se empezara a colocar en (fila 3 columna B)y asi hacia abajo

Es eso posible?
20/09/2007
jjmoya, experto respondiendo en Microsoft Excel
Experto
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 probala 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
End Sub

Saludos
Elsa

http://es.geocities.com/lacibelesdepunilla/manual
20/09/2007
jjmoya, usuario preguntando en Microsoft Excel
Usuario
Gracias por tu respuesta, ya esta solucionado
Enlaces patrocinados