Copiar - Pegar valores en codigo

27/04/2009 - 23:38 por faico | Informe spam
Hola Grupo,

Hace tiempo que no escribía...

Tengo el siguiente código que copia y pega una serie de celdas de un
documento a otro pero lo que necesitaría es que copie y pegue VALORES
unicamente

Sabe alguien como cambier el codigo?

Sub Botón3_AlHacerClic()
Dim strArchivo As String
Dim oLibro As Workbook
strArchivo = "E:\Lugar\del\documento\Clientes_2008.xls"
If Dir(strArchivo) = "" Then
MsgBox "No existe el archivo en la ruta indicada."
Exit Sub
End If
Application.ScreenUpdating = False
On Error Resume Next
Set oLibro = Workbooks(Dir(strArchivo))
On Error GoTo 0
If oLibro Is Nothing Then Set oLibro = Workbooks.Open(strArchivo)
oLibro.Worksheets("HOJA1").Range("A2:A39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range
("D7")
oLibro.Worksheets("HOJA1").Range("B2:B39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range
("E7")
oLibro.Worksheets("HOJA1").Range("B2:B39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range
("F7")
oLibro.Worksheets("HOJA1").Range("C2:D39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range
("G7")
oLibro.Worksheets("HOJA1").Range("F2:J39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range
("I7")
oLibro.Worksheets("HOJA1").Range("M2:O39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range
("N7")
oLibro.Close False
Set oLibro = Nothing
Application.ScreenUpdating = True
End Sub

Muchas gracias!
Hasta pronto
 

Leer las respuestas

#1 Héctor Miguel
28/04/2009 - 06:06 | Informe spam
hola, nacho !

prueba con las siguientes adaptaciones:

Sub Botón3_AlHacerClic()
Dim Archivo As String, Destino As Range, nFilas as Integer
Archivo = "E:\Lugar\del\documento\Clientes_2008.xls"
Application.ScreenUpdating = False
On Error Resume Next
Debug.Print Workbooks(Dir(Archivo)).Type
If Err Then
On Error GoTo 0
If Dir(strArchivo) = "" Then
MsgBox "No existe el archivo en la ruta indicada."
Exit Sub
Else: Workbooks.Open Archivo
End If
End If
Set Destino = Workbooks("reporting worldwide.xls").Worksheets("bd").Range("d7")
Workbooks(Dir(Archivo)).Activate
With Worksheets("hoja1").Range("a2:a39"): nFilas = .Rows.Count
Destino.Resize(nFilas, 2).Value = .Resize(, 2).Value
Destino.Offset(, 2).Resize(nFilas, 3).Value = .Offset(, 1).Resize(, 3).Value
Destino.Offset(, 5).Resize(nFilas, 5).Value = .Offset(, 5).Resize(, 5).Value
Destino.Offset(, 10).Resize(nFilas, 3).Value = .Offset(, 12).Resize(, 3).Value
End With
ActiveWorkbook.Close False
Set Destino = Nothing
End Sub

saludos,
hector.

__ OP __
Tengo el siguiente codigo que copia y pega una serie de celdas de un documento a otro
pero lo que necesitaría es que copie y pegue VALORES unicamente

Sabe alguien como cambier el codigo?

Sub Botón3_AlHacerClic()
Dim strArchivo As String
Dim oLibro As Workbook
strArchivo = "E:\Lugar\del\documento\Clientes_2008.xls"
If Dir(strArchivo) = "" Then
MsgBox "No existe el archivo en la ruta indicada."
Exit Sub
End If
Application.ScreenUpdating = False
On Error Resume Next
Set oLibro = Workbooks(Dir(strArchivo))
On Error GoTo 0
If oLibro Is Nothing Then Set oLibro = Workbooks.Open(strArchivo)
oLibro.Worksheets("HOJA1").Range("A2:A39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range("D7")
oLibro.Worksheets("HOJA1").Range("B2:B39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range("E7")
oLibro.Worksheets("HOJA1").Range("B2:B39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range("F7")
oLibro.Worksheets("HOJA1").Range("C2:D39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range("G7")
oLibro.Worksheets("HOJA1").Range("F2:J39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range("I7")
oLibro.Worksheets("HOJA1").Range("M2:O39").Copy _
Workbooks("Reporting WorldWide.xls").Worksheets("BD").Range("N7")
oLibro.Close False
Set oLibro = Nothing
Application.ScreenUpdating = True
End Sub

Preguntas similares