Duda código de importar datos de un archivo a otro

Este es el código que tengo para importar datos de un archivo a otro pero lo que me gustaría es que en lugar de copiar celdas que yo diga me copie directamente columnas enteras.

Sub CoverImport()

Dim iFile, iForm

iFile = Application.GetOpenFilename("Excel files (*.xl*), *.xl*"): If iFile = False Then Exit Sub
iForm = InStrRev(iFile, "\"): iForm = "='" & Left(iFile, iForm) & "[" & Mid(iFile, 1 + iForm, 99) & "]Cover'!"

'Range("A1") = iFile

'Range("H11:H" & ContItems).Value = iForm & "B11"

'Project info. Sheets copy
Range("D2") = iForm & "D2"
Range("G2") = iForm & "G2"
Range("J5") = iForm & "J5"
Range("J6") = iForm & "J6"

'Units Plant sheets copy
Range("E13:E22").Value = iForm & "E13"
Range("H13:H22").Value = iForm & "H13"

'Currency sheets copy
Range("E27:E33").Value = iForm & "E27"
Range("H27:H33").Value = iForm & "H27"
Range("I27:I33").Value = iForm & "I27"

'Documents Info. Sheets copy
Range("F36") = iForm & "F36"

'Remove project units with null value
'Dim Celda As Range
'For Each Celda In Range("E13:H22")
'If (Celda.Value = "0") Then
'Celda.ClearContents
'End If
'Next Celda

'Finish importation (MsgBox with timer)

Dim AckTime As Integer, InfoBox As Object
Set InfoBox = CreateObject("WScript.Shell")
'Set the message box to close after 10 seconds
AckTime = 1
Select Case InfoBox.Popup("Cover imported successfully", _
AckTime, "This is your Message Box", 0)
Case 1, -1
Exit Sub
End Select
ActiveWorkbook.BreakLink iFile, 1

End Sub

Además tengo alguna duda del código que no lo entiendo muy bien su funcionamiento.

Añade tu respuesta

Haz clic para o