Macro que permite abrir un Libro, seleccionar rangos y pegarlos en otro Libro.

Hola Expertos,

Soy nuevo en los macros. Estoy haciendo un macro que me permite elegir la ruta de un archivo así como el rango de celdas que quiero copiar de este, y luego pegar en otro Libro previamente abierto. He estado intentando con el código que adjunto aquí pero siempre me da error. Las celdas destino quedan sombreadas pero vacías. ¿Que estoy haciendo mal?.

Private Sub cmdCopy_Click()
Dim datoritemp As String
Dim dataoriact As String
Dim datadest1 As String
Dim datadest2 As String
Dim datadest3 As String
Dim datadest4 As String
Dim datadest5 As String
Dim datadest6 As String
Dim datadest7 As String
Dim wb As Workbook
Dim ws As Worksheet
Set ws = ActiveSheet
datoritemp = optTemp.Value
dataoriact = optAct.Value
datadest1 = Dest1.Value
datadest2 = Dest2.Value
datadest3 = Dest3.Value
datadest4 = Dest4.Value
datadest5 = Dest5.Value
datadest6 = Dest6.Value
datadest7 = Dest7.Value
Set wb = Workbooks.Open(Application.GetOpenFilename)
If dataoritemp = "Verdadero" Then
wb.Worksheets("Temperature").Range("BK5:BK16").Copy
ElseIf dataoriact = "Verdadero" Then
wb.Worksheets("Activity").Range("BK6:BK17").Copy
End If
ThisWorkbook.Activate
If datadest1 = "Verdadero" Then
ws.Range("B3:B14").PasteSpecial xlPasteValues
ElseIf datadest2 = "Verdadero" Then
ws.Range("C3:C14").PasteSpecial xlPasteValues
ElseIf datadest3 = "Verdadero" Then
ws.Range("D3:D14").PasteSpecial xlPasteValues
ElseIf datadest4 = "Verdadero" Then
ws.Range("E3:E14").PasteSpecial xlPasteValues
ElseIf datadest5 = "Verdadero" Then
ws.Range("F3:F14").PasteSpecial xlPasteValues
ElseIf datadest6 = "Verdadero" Then
ws.Range("G3:G14").PasteSpecial xlPasteValues
ElseIf datadest7 = "Verdadero" Then
ws.Range("H3:H14").PasteSpecial xlPasteValues
End If
wb.Close
End Sub

Muchas gracias de antemano.

Un saludo.

Añade tu respuesta

Haz clic para o