Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Paolo,
grazie Norman
lo script funziona perfettamente
Mi fa piacere,
è possibile non cipiare da foglio x la riga1 di intestazione nel foglio Y ma solo dalla riga 2 delle colonne indicate
Prova il seguente adattamento del codice:
'=========>>
Option Explicit
'--------->>
Public Sub Tester()
Dim srcWB As Workbook, destWB As Workbook
Dim srcSH As Worksheet, destSH As Worksheet
Dim srcRng As Range
Dim arrSorgente As Variant, arrDestinazione As Variant
Dim i As Long
Dim LRow As Long
Dim CalcMode As Long
Const sFile_Sorgente As String = "x.xlsx" '<<=== Modifica
Const sFile_Destinazione As String = "y _prima.xlsx" '<<=== Modifica
Const sFoglio_Sorgente As String = "X" '<<=== Modifica
Const sFoglio_Destinazione As String = "WELFARE" '<<=== Modifica
Const sColonne_Sorgente As String = _
"A,D,M,N,L,H,J" '<<=== Modifica
Const sColonne_Destinazione As String = _
"C,D,E,H,J,K,N" '<<=== Modifica
Set destWB = Workbooks(sFile_Destinazione)
Set srcWB = Workbooks(sFile_Sorgente)
Set srcSH = srcWB.Sheets(sFoglio_Sorgente)
Set destSH = destWB.Sheets(sFoglio_Destinazione)
arrSorgente = Split(sColonne_Sorgente, ",")
arrDestinazione = Split(sColonne_Destinazione, ",")
With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
LRow = srcSH.UsedRange.Rows.Count
For i = LBound(arrSorgente) To UBound(arrSorgente)
Set srcRng = srcSH.Columns(arrSorgente(i)).Resize(LRow - 1).Offset(1)
srcRng.Copy Destination:= _
destSH.Columns(arrDestinazione(i)).Cells(2)
Next i
Call MsgBox( _
Prompt:="Finito", _
Buttons:=vbInformation, _
Title:="REPORT")
XIT:
With Application
.Calculation = CalcMode
.ScreenUpdating = True
End With
End Sub
'<<=========
===
Regards,
Norman