L'unico problema é che nell'elenco del foglio 2 nn ci sono gli stessi nomi del foglio 1.
Mi sembrava troppo facile come l' avevi raccontata la prima volta.
Va quindi affrontato con le macro.
Questa la metti nel modulo di codice di Foglio3
- Codice: Seleziona tutto
Private Sub Worksheet_Activate()
Application.EnableEvents = False
Sheets("Foglio3").Select
Range("A:B").ClearContents
Sheets("Foglio1").Select
Call Elenca
Sheets("Foglio2").Select
Call Elenca
Sheets("Foglio3").Select
Application.EnableEvents = True
End Sub
Procedura: da excel Foglio3, tasto dx sul tab col nome foglio, scegli Visualizza codice; si apre il vba editor; copi il codice e lo incolli sul frame vuoto di dx
Questa va messa in un Modulo di codice standard:
- Codice: Seleziona tutto
Sub Elenca()
For Each Cell In Range("A1", Cells(Range("a65536").End(xlUp).Row, 1))
OffInd = 0
On Error Resume Next
OffInd = Application.WorksheetFunction.Match(Cell, Sheets("Foglio3").Range("A1:A65536"), 0)
If OffInd = 0 Then
On Error GoTo 0
Sheets("Foglio3").Range("A65536").End(xlUp).Offset(1, 0).Value = Cell
Sheets("Foglio3").Range("A65536").End(xlUp).Offset(0, 1).FormulaR1C1 = _
"=SUMIF(Foglio2!C[-1],Foglio3!RC[-1],Foglio2!C)+SUMIF(Foglio1!C[-1],Foglio3!RC[-1],Foglio1!C)"
End If
Next Cell
End Sub
Procedura: dal vba editor (sopra), fai Inserisci /Modulo; copi il codice e lo inserisci nel frame di dx
Le macro si attivano tutte le volte che apri Foglio3, CANCELLA TUTTO quello che c' e' in colonna A e B, e poi popola A con i valori presenti in col A di Foglio1 e Foglio2 e col B con la formula di SOMMA.SE che avevi gia' visto.
Se quanto sopra non ti va bene, non procedere e spiega perche' non va bene. Comunque, come sempre, prima di provare fai due copie di backup del tuo file originale.
Ciao, fai sapere.