Forse è il neurone che è stressato, forse l'età o forse l'insieme dei due fattori ???
Comunque il problema è questo : devo copiare un foglio xls che ho in C:\Users\Giancarlo\Downloads\ nel foglio aperto dal quale lancio la macro ( file UL_1A_Bilanci_MS_Selenium.xlsm") cioè nel foglio DatiMS. Con la macro sotto riesco a selezionare il foglio da cui copiare , seleziono l'area e poi mi blocco , ovvero non riesco a interagire con il foglio già aperto e copiare la mia tabella . Dove sbaglio ?
Qui il codice
- Codice: Seleziona tutto
Public Sub SelezionaFileEsterno()
Dim LastRow As Long
Dim LastColumn As Long
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.DisplayAlerts = False
NomeFileConMacro = ThisWorkbook.Name
Dim fDialog As Office.FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
Dim selezione As Variant
Dim Last_Col As Long, Last_Row As Long
Dim Destination_file As Workbook
Dim PercorsoEstrazioniAntex As String
Percorso = ThisWorkbook.Path & "C:\Users\Giancarlo\Downloads\" 'DA MODIFICARE
With fDialog
.AllowMultiSelect = False
.Title = "Seleziona il file da aprire"
.InitialFileName = Percorso
Set Destination_file = Workbooks("UL_1A_Bilanci_MS_Selenium.xlsm")
If .Show = -1 Then
For Each selezione In .SelectedItems
FileDaAprire = selezione
Application.Workbooks.Open (FileDaAprire)
NomeFileDaAprire = ActiveWorkbook.Name
Last_Col = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
Last_Row = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(1, Last_Col), Cells(Last_Row, Last_Col)).Copy
'-------------------------------------------------------------------------------------------
' fino a qui va bene ora dovrebbe copiare nel file già aperto Destination_file nel foglio DatiMS
Workbooks.Open Destination_file
ActiveWorkbook.SaveCopyAs Filename:=Sheets("DatiMS").Select
Sheets("DatiMs").Cells(1, 1).PasteSpecial Operation:=xlPasteValues
'----------------------------------------------------------------------------------------
Next
Else
MsgBox "Operazione annullata!", vbInformation
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Exit Sub
End If
End With
Set selezione = Nothing
Set fDialog = Nothing
End Sub