Paso a explicar tu código (*)
Dim progra As String
progra = Application.GetOpenFilename
If progra = "Falso" Then
MsgBox "Proceso Cancelado...", vbInformation
Exit Sub
Else
End If
Workbooks.Open (progra)
'aquí el libro activo es el que acabas de abrir, pero la variable 'progra' tiene la ruta completa, x eso es mejor que utilices una variable para guardar solo su nombre
libro2=activeworkbook.name
Selection.Delete Shift:=xlToLeft
'aquí hacés mención a Selection... pero acabas de abrir el libro y aún no seleccionaste nada
'lo que sigue está bien si el libro que abirste tiene 1 sola hoja o sabes con certeza que se abrió en la hoja donde querés borrar la col D, mejor te lo asegurás con la siguiente línea, reemplazá Hoja2 x el nombre de tu hoja en libro progra
ActiveWorkbook.Sheets("Hoja2").select
Columns("D:D").Select
Selection.Delete Shift:=xlToLeft
Range("E8").Select
Windows("códigos.xlsm").Activate
'aquí volviste a tu libro y copiaste el contenido de col C:D
Columns("C:D").Select
Selection. Copy
'reemplazá la siguiente línea x la que dejo en negrita
'Windows(progra). Activate 'línea inhabilitada
Workbooks(libro2). Activate
'como ya seleccioné antes la hoja, solo hago mención a ella como ActiveSheet.
Activesheet.Range("C1:D1").Select
ActiveSheet.Paste
Range("D8").Select
'no hace falta volver al li bro código xq a continuación estás abriendo un 3er libro
'Windows("códigos.xlsm").Activate 'inhabilitada
Workbooks.Open Filename:="C:\Users\Molder\Documents\ventas.xlsx"
'aquí valen las mismas indicaciones de seleccionar previamente una hoja salvo que el libro tenga 1 sola.
ActiveWorkbook.Sheets("tu_hoja").select
Range("B12:C33").Select
Application.CutCopyMode = False
Selection.Copy
'nuevamente queda inhabilitada la sgte y en su reemplazo van las 2 negritas
'Windows(progra).Activate
workbooks(libro2).activate
Activeworkbook.sheets("Hoja2").select
ActiveWindow.SmallScroll Down:=-6
Range("E1").Select
ActiveSheet.Paste
Range("E32").Select
Workbooks("códigos.xlsm").Activate
'aquí regreso al libro original.
'ATENCIÓN: ahora han quedado 3 libros abiertos, siendo el activo el de nombre 'códigos'
End Sub
PD) En lugar de Windows acosstumbrate a usar Workbooks.
PD2) Así cómo te dejo esta macro explicada, así son los ejemplos de mis manuales: con aclaración línea x línea.