Copiar datos de una hoja a otro libro

Favor necesito de su ayuda, tengo una macro que copia datos específicos de la hoja llamada "proforma" a otra en el mismo libro llamada "CRM".

Ahora, necesito cambiar el lugar en donde pega los datos, necesito que copie estos datos específicos, en un libro distinto llamado "CRM", en la hoja "datos" en la siguiente dirección "C:\Users\User\Dropbox\DIVANI\Facturación\CRM\CRM.xlsm"

Gracias de antemano

Esta es la macro:

Sub guarda_AZUSproforma()
ActiveWorkbook.Save
'Declaramos la variable que nos va a servir para nombrar el archivo
'que vamos a generar
Dim nomb As String
'Declaramos la carpeta a donde se enviara el archivo
Application.ScreenUpdating = False
Const myDir As String = "C:\Users\User\Dropbox\DIVANI\Facturación\Proformas\"
'Const myDir As String = "C:\Users\LENOVO\OneDrive\PROFORMAS\"
'Mostramos mensaje para saber si esta seguro de realizar
'él archivo
If MsgBox("¿Desea Guardar una copia?", vbYesNo, "órden") <> vbYes Then Exit Sub
'aqui mi nombre esta conformado por el valor de dos celdas que se indican con Range
nomb = Range("H17") & " " & Range("E25") & ".pdf"
If nomb = ".pdf" Then Exit Sub
If Dir(myDir & nomb) <> "" Then
Sino = MsgBox(" ¿Proforma ya existe, desea modificar los datos? ", vbYesNo, "Informacion")
If Sino <> vbYes Then Exit Sub
End If

Set h1 = Sheets("proforma")
Set h2 = Sheets("CRM")
ori = Array("H18", "D31", "E28", "H17", "E25", "E26", "E27", "F34", "J49", "J51", "J54")
'
F = h2.Range("B" & Rows.Count).End(xlUp).Row + 1
If F < 4 Then F = 4
C = 2
For i = LBound(ori) To UBound(ori)
h1.Range(ori(i)).Copy
h2.Cells(F, C).PasteSpecial Paste:=xlPasteValues
C = C + 1
Next

Err_Handler:
On Error GoTo Err_Handler
Sheets("proforma").ExportAsFixedFormat Type:=xlTypePDF, Filename:=myDir & nomb, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False 'colocado en False para que no se abra

'*** si no se imprime continúa con las últimas instrucciones
If MsgBox("¿Desea imprimir proforma?", vbYesNo, "órden") = vbYes Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End If

'*** coloca hipervínculo a la celda de la col E. Previamente se la selecciona
h2. Activate
Cells(F, "E").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=myDir & "\" & nomb ', TextToDisplay:=Cells(f, "E")

Application.ScreenUpdating = True
End Sub

2 Respuestas

Respuesta

Para abrir el libro, primero Asigna el nombre del libro en una variable:

Dim x As Workbook

Set x = Workbooks.Open("C:\Users\User\Dropbox\DIVANI\Facturación\CRM\CRM.xlsm")

x. Sheets("datos"). Range("A1").Select 'Acá Seleccionas la hoja y el rango inicial donde empezaras la copia.

Windows("CRM.xlsm").Activate 'Acá activas el libro donde pegarás los datos

Si deseas copiar otro dato más de tu libro original, solamente activas de nuevo tu libro base:

Windows("ArchivoOriginal.xlsm").Activate

Cuando termines de pegar tus datos en la hoja destino, cierra el libro con:

x. Close

Respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas