Ti mando un
FILE con le macro da lanciare e i 2
FILES che debbo trattare. I due files sono l’importazione dei dati della SEDE che mi interessa dal 1° Gennaio 24 al giorno “Oggi” ed il secondo dal 1° Gennaio 25 al giorno “Oggi”, che per ambedue è il 2.05 ma che fra qualche giorno sarà il 5 piuttosto che il 13 etc. e la SEDE avrà probabilmente inserito altri dati. In sede di importazione si può scegliere il periodo che per ambedue è lo stesso cambiando solo l'anno. Quando lanci la prima macro a file vergine devi selezionare i 2 files dello zip dove li hai scompattati ed inizia la corsa.
Importo lo stesso file per lo stesso periodo sia per il 25 che per il 24 e, attenzione, i dati importati fino al 2.05 sia del 24 che del 25 sono ovviamente inferiori di quelli importati per tutto il mese di maggio, che comunque ho già ottenuto con le macro che con il tuo aiuto ho sviluppato finora. Adesso debbo confrontare 1 GEN--2 MAGG del 24 con lo stesso periodo del 25. E hai i due file importati più un file con tutte le macro che sono tutte unite, ma che ho suddiviso e che dovresti lanciare in questa sequenza.
1. Unisci_Files_InUno
2. Riunisci
3. Ordina_Righe_Corrispondenti
4. NumeriinNumero (per ovviare il solito problema dei numeri in formato testo)
5. A questo punto appare la InputBox per continuare dopo aver filtrato l’Agente
6. CopiaCelleFiltrate
Ma dopo aver messo il filtro e aver cliccato su Continua, al posto di CopiaCelleFiltrate vorrei che si attivasse la macro
- Codice: Seleziona tutto
Sub MacroTotali()
Dim CM As Long, CY As Long, mySplit, MMM As String
Cells(1, Columns.Count).End(xlToLeft).Select
'Cells(1, Columns.Count).End(xlToLeft).Offset(0, -1).Select
mySplit = Split(ActiveCell.Value & "-0-0", "-", , vbTextCompare)
CM = CLng("0" & mySplit(1))
CY = CLng("0" & mySplit(0))
MMM = UCase(Format(DateSerial(CY, CM, 1), "mmm"))
On Error Resume Next
ActiveCell.Offset(0, 1).Value = _
"Totale GEN-" & MMM & Chr(10) & Split(ActiveCell.Offset(0, -14).Value & "-0-0", "-", , vbTextCompare)(0)
ActiveCell.Offset(0, 2).Value = _
"Totale GEN-" & MMM & Chr(10) & mySplit(0)
ActiveCell.Offset(0, 3).Value = "Differenza"
On Error GoTo 0
ActiveCell.Offset(1, 1).FormulaR1C1 = _
"=SUM(OFFSET(RC[-1],0,1-" & CM & "-12,1," & CM & "))"
ActiveCell.Offset(1, 2).FormulaR1C1 = _
"=SUM(OFFSET(RC[-2],0,1-" & CM & ",1," & CM & "))"
ActiveCell.Offset(1, 3).FormulaR1C1 = _
"=RC[-1]-RC[-2]"
End Sub
che proprio non mi entra in testa per modificarla secondo necessità (nonostante tu me lo abbia già spiegata).
Il risultato visivo dovrebbe essere come spiegato con le celle gialle nel file allegato in apertura.
Naturalmente non ho allegato tutto l’ambaradan delle formattazioni e delle verifiche/confronti, non vorrei farti incavolare con tutti i Select delle registrazioni.
Naturalmente modifiche o suggerimenti sono ben accetti.
Ti saluto
R