Ho dato uno sguardo anche io ai file, ti propongo quanto segue:
1) il file csv lo "importi" sul foglio Competitors Analysis"; puoi ottenere il codice per eseguire cio' automaticamente tramite il registratore di macro: partendo dal foglio "Set"
-selezioni il foglio " Competitors Analysis"
-lo azzeri
-avvii l' importazione (Menu /Dati /Importa dati esterni /Importa dati)
-esegui l' importazione dati
2) Lo spostamento delle colonne dal foglio importato ai vari fogli lo fai con una macro del tipo
- Codice: Seleziona tutto
Sub marco75()
Dim TabTL As String, TabMvCol As Integer, SorgSh As String, I As Integer, LastR As Long, TargRt As String
TargRt = "Column"
SorgSh = "Competitors Analisys"
TabTL = "A3": TabMvCol = 15
'
Sheets(SorgSh).Activate
LastR = Cells(Rows.Count, 1).End(xlUp).Row
For I = 1 To TabMvCol
With Sheets(TargRt & I)
Range(TabTL).Offset(0, I + 1).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 1).Copy _
Destination:=.Cells(Application.Match(1 * Range(TabTL).Value, .Range("A:A"), 0), _
Application.Match(1 * Range(TabTL).Value, .Range("1:1"), 0))
End With
Next I
End Sub
Presuppone che i vari fogli ColumnX siano gia' presenti, che abbiano una intestazione con le date su riga1 e col A (verranno usate per determinare la posizione in cui incollare le nuove colonne, in funzione della prima data presente sul foglio importato), e che la sequenza di date sui vari ColumnX sia coerente con le sequenze che importi
La macro ovviamente e' un prototipo, la dovrai "rinforzare" per prevedere la gestione delle eventuali situazioni di errore che, noti i presupposti detti sopra e conoscendo il tuo processo di lavoro, potresti incontrare.
Ciao