macro: pegar filas en otra hoja a continuacion de filas existente

30/05/2005 - 17:26 por christian k | Informe spam
necesito macro o funcion que pegue filas en otra hoja específica
inmediatamente abajo de la ultima celda ocupada.

Preguntas similare

Leer las respuestas

#1 KL
30/05/2005 - 19:05 | Informe spam
Hola Christian,

Suponiendo que quieres copiar la primera fila de la hoja activa a la primera
fila debajo de la ultima fila con datos de la segunda hoja del libro...

1) Si no usas formatos en la hoja (ademas de los que estan por defecto) o si
se podria decir que los formatos nuevos acaban con la ultima celda con
datos, entonces podrias usar algo asi:

Sub CopiarFilas1()
With Sheets(2)
.UsedRange
ActiveSheet.Rows(1).Copy _
.Cells.SpecialCells(xlCellTypeLastCell). _
Offset(1, 0).EntireRow
End With
End Sub

2) Si la condicion de arriba no se cumple...

a. una opcion podria ser la de identificar una columna donde debe aparecer
el ultimo dato, p.ej la columna [A], y entonces usar:

Sub CopiarFilas2()
With Sheets(2)
ActiveSheet.Rows(1).Copy _
.Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).EntireRow
End With
End Sub

b. o tambien podrias hacer esto:

Sub CopiarFilas3()
Dim fila As Range
With Sheets(2)
Set fila = .Cells.Find("*", .Cells(1), _
xlValues, xlWhole, xlByRows, xlPrevious) _
.Offset(1, 0).EntireRow
End With
ActiveSheet.Rows(1).Copy fila
End Sub

Saludos,
KL




"christian k" <christian wrote in message
news:
necesito macro o funcion que pegue filas en otra hoja especifica
inmediatamente abajo de la ultima celda ocupada.
Respuesta Responder a este mensaje
#2 christian K
30/05/2005 - 19:37 | Informe spam
Gracias. usé la idea num. 2. Funcionó.
Aqui va el macro que actúa después de seleccionar area a copiar. (Se sabe
que la hoja destino No tendrá más de 100 lineas). Evito hacer el (xlDown)
porque si el cursor está en celda blanca se irá al A64000.

' Macro grabada el 30-05-2005 por CK
'
' Acceso directo: CTRL+s
'
Selection.Copy
Sheets("dirproyect").Select
Range("A100").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub




"KL" wrote:

Hola Christian,

Suponiendo que quieres copiar la primera fila de la hoja activa a la primera
fila debajo de la ultima fila con datos de la segunda hoja del libro...

1) Si no usas formatos en la hoja (ademas de los que estan por defecto) o si
se podria decir que los formatos nuevos acaban con la ultima celda con
datos, entonces podrias usar algo asi:

Sub CopiarFilas1()
With Sheets(2)
.UsedRange
ActiveSheet.Rows(1).Copy _
.Cells.SpecialCells(xlCellTypeLastCell). _
Offset(1, 0).EntireRow
End With
End Sub

2) Si la condicion de arriba no se cumple...

a. una opcion podria ser la de identificar una columna donde debe aparecer
el ultimo dato, p.ej la columna [A], y entonces usar:

Sub CopiarFilas2()
With Sheets(2)
ActiveSheet.Rows(1).Copy _
.Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).EntireRow
End With
End Sub

b. o tambien podrias hacer esto:

Sub CopiarFilas3()
Dim fila As Range
With Sheets(2)
Set fila = .Cells.Find("*", .Cells(1), _
xlValues, xlWhole, xlByRows, xlPrevious) _
.Offset(1, 0).EntireRow
End With
ActiveSheet.Rows(1).Copy fila
End Sub

Saludos,
KL




"christian k" <christian wrote in message
news:
> necesito macro o funcion que pegue filas en otra hoja especifica
> inmediatamente abajo de la ultima celda ocupada.



Respuesta Responder a este mensaje
#3 KL
30/05/2005 - 19:48 | Informe spam
Hola christian,

El macro que has decidido usar es bastante ineficiente y hace operaciones
innecesarias.

Prueba la siguiente version depurada:


Sub test()
Selection.Copy _
Sheets("dirproyect").Range("A65536").End(xlUp).Offset(1, 0)
End Sub

Saludos,
KL


"christian K" <christian wrote in message
news:
Gracias. use la idea num. 2. Funciono.
Aqui va el macro que actua despues de seleccionar area a copiar. (Se sabe
que la hoja destino No tendra mas de 100 lineas). Evito hacer el (xlDown)
porque si el cursor esta en celda blanca se ira al A64000.

' Macro grabada el 30-05-2005 por CK
'
' Acceso directo: CTRL+s
'
Selection.Copy
Sheets("dirproyect").Select
Range("A100").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub




"KL" wrote:

Hola Christian,

Suponiendo que quieres copiar la primera fila de la hoja activa a la
primera
fila debajo de la ultima fila con datos de la segunda hoja del libro...

1) Si no usas formatos en la hoja (ademas de los que estan por defecto) o
si
se podria decir que los formatos nuevos acaban con la ultima celda con
datos, entonces podrias usar algo asi:

Sub CopiarFilas1()
With Sheets(2)
.UsedRange
ActiveSheet.Rows(1).Copy _
.Cells.SpecialCells(xlCellTypeLastCell). _
Offset(1, 0).EntireRow
End With
End Sub

2) Si la condicion de arriba no se cumple...

a. una opcion podria ser la de identificar una columna donde debe
aparecer
el ultimo dato, p.ej la columna [A], y entonces usar:

Sub CopiarFilas2()
With Sheets(2)
ActiveSheet.Rows(1).Copy _
.Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).EntireRow
End With
End Sub

b. o tambien podrias hacer esto:

Sub CopiarFilas3()
Dim fila As Range
With Sheets(2)
Set fila = .Cells.Find("*", .Cells(1), _
xlValues, xlWhole, xlByRows, xlPrevious) _
.Offset(1, 0).EntireRow
End With
ActiveSheet.Rows(1).Copy fila
End Sub

Saludos,
KL




"christian k" <christian wrote in message
news:
> necesito macro o funcion que pegue filas en otra hoja especifica
> inmediatamente abajo de la ultima celda ocupada.



Respuesta Responder a este mensaje
#4 christian K
30/05/2005 - 21:09 | Informe spam
me dio esos errores

Sub macro12()
'
' Macro12 Macro
' Macro grabada el 30-05-2005 por CK
'
' Acceso directo: Ctrl+Mayús+S

Selection.Copy
Sheets("dirproyect").Range("A65536).End(xlUp).Offset(1,0)
End Sub


"KL" wrote:

Hola christian,

El macro que has decidido usar es bastante ineficiente y hace operaciones
innecesarias.

Prueba la siguiente version depurada:


Sub test()
Selection.Copy _
Sheets("dirproyect").Range("A65536").End(xlUp).Offset(1, 0)
End Sub

Saludos,
KL


"christian K" <christian wrote in message
news:
> Gracias. use la idea num. 2. Funciono.
> Aqui va el macro que actua despues de seleccionar area a copiar. (Se sabe
> que la hoja destino No tendra mas de 100 lineas). Evito hacer el (xlDown)
> porque si el cursor esta en celda blanca se ira al A64000.
>
> ' Macro grabada el 30-05-2005 por CK
> '
> ' Acceso directo: CTRL+s
> '
> Selection.Copy
> Sheets("dirproyect").Select
> Range("A100").Select
> Selection.End(xlUp).Select
> ActiveCell.Offset(1, 0).Range("A1").Select
> ActiveSheet.Paste
> Application.CutCopyMode = False
> End Sub
>
>
>
>
> "KL" wrote:
>
>> Hola Christian,
>>
>> Suponiendo que quieres copiar la primera fila de la hoja activa a la
>> primera
>> fila debajo de la ultima fila con datos de la segunda hoja del libro...
>>
>> 1) Si no usas formatos en la hoja (ademas de los que estan por defecto) o
>> si
>> se podria decir que los formatos nuevos acaban con la ultima celda con
>> datos, entonces podrias usar algo asi:
>>
>> Sub CopiarFilas1()
>> With Sheets(2)
>> .UsedRange
>> ActiveSheet.Rows(1).Copy _
>> .Cells.SpecialCells(xlCellTypeLastCell). _
>> Offset(1, 0).EntireRow
>> End With
>> End Sub
>>
>> 2) Si la condicion de arriba no se cumple...
>>
>> a. una opcion podria ser la de identificar una columna donde debe
>> aparecer
>> el ultimo dato, p.ej la columna [A], y entonces usar:
>>
>> Sub CopiarFilas2()
>> With Sheets(2)
>> ActiveSheet.Rows(1).Copy _
>> .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).EntireRow
>> End With
>> End Sub
>>
>> b. o tambien podrias hacer esto:
>>
>> Sub CopiarFilas3()
>> Dim fila As Range
>> With Sheets(2)
>> Set fila = .Cells.Find("*", .Cells(1), _
>> xlValues, xlWhole, xlByRows, xlPrevious) _
>> .Offset(1, 0).EntireRow
>> End With
>> ActiveSheet.Rows(1).Copy fila
>> End Sub
>>
>> Saludos,
>> KL
>>
>>
>>
>>
>> "christian k" <christian wrote in message
>> news:
>> > necesito macro o funcion que pegue filas en otra hoja especifica
>> > inmediatamente abajo de la ultima celda ocupada.
>>
>>
>>



Respuesta Responder a este mensaje
#5 KL
30/05/2005 - 22:01 | Informe spam
Hola Christian,

Era de esperar - al copiar el macro que te puse (no se como) olvidaste el
espacio y el subrayado despues de Copy. La primera linea del codigo deberia
poner:

Selection.Copy _

Saludos,
KL


"christian K" wrote in message
news:
me dio esos errores

Sub macro12()
'
' Macro12 Macro
' Macro grabada el 30-05-2005 por CK
'
' Acceso directo: Ctrl+Mayus+S

Selection.Copy
Sheets("dirproyect").Range("A65536).End(xlUp).Offset(1,0)
End Sub


"KL" wrote:

Hola christian,

El macro que has decidido usar es bastante ineficiente y hace operaciones
innecesarias.

Prueba la siguiente version depurada:


Sub test()
Selection.Copy _
Sheets("dirproyect").Range("A65536").End(xlUp).Offset(1, 0)
End Sub

Saludos,
KL


"christian K" <christian wrote in message
news:
> Gracias. use la idea num. 2. Funciono.
> Aqui va el macro que actua despues de seleccionar area a copiar. (Se
> sabe
> que la hoja destino No tendra mas de 100 lineas). Evito hacer el
> (xlDown)
> porque si el cursor esta en celda blanca se ira al A64000.
>
> ' Macro grabada el 30-05-2005 por CK
> '
> ' Acceso directo: CTRL+s
> '
> Selection.Copy
> Sheets("dirproyect").Select
> Range("A100").Select
> Selection.End(xlUp).Select
> ActiveCell.Offset(1, 0).Range("A1").Select
> ActiveSheet.Paste
> Application.CutCopyMode = False
> End Sub
>
>
>
>
> "KL" wrote:
>
>> Hola Christian,
>>
>> Suponiendo que quieres copiar la primera fila de la hoja activa a la
>> primera
>> fila debajo de la ultima fila con datos de la segunda hoja del
>> libro...
>>
>> 1) Si no usas formatos en la hoja (ademas de los que estan por
>> defecto) o
>> si
>> se podria decir que los formatos nuevos acaban con la ultima celda con
>> datos, entonces podrias usar algo asi:
>>
>> Sub CopiarFilas1()
>> With Sheets(2)
>> .UsedRange
>> ActiveSheet.Rows(1).Copy _
>> .Cells.SpecialCells(xlCellTypeLastCell). _
>> Offset(1, 0).EntireRow
>> End With
>> End Sub
>>
>> 2) Si la condicion de arriba no se cumple...
>>
>> a. una opcion podria ser la de identificar una columna donde debe
>> aparecer
>> el ultimo dato, p.ej la columna [A], y entonces usar:
>>
>> Sub CopiarFilas2()
>> With Sheets(2)
>> ActiveSheet.Rows(1).Copy _
>> .Cells(.Rows.Count, "A").End(xlUp).Offset(1, 0).EntireRow
>> End With
>> End Sub
>>
>> b. o tambien podrias hacer esto:
>>
>> Sub CopiarFilas3()
>> Dim fila As Range
>> With Sheets(2)
>> Set fila = .Cells.Find("*", .Cells(1), _
>> xlValues, xlWhole, xlByRows, xlPrevious) _
>> .Offset(1, 0).EntireRow
>> End With
>> ActiveSheet.Rows(1).Copy fila
>> End Sub
>>
>> Saludos,
>> KL
>>
>>
>>
>>
>> "christian k" <christian wrote in message
>> news:
>> > necesito macro o funcion que pegue filas en otra hoja especifica
>> > inmediatamente abajo de la ultima celda ocupada.
>>
>>
>>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida