Sax ha scritto:i 6 casi devono essere inseriti in Q/U16 Q/U17 Q/U18
quindi la prima va in Q16 e la seconda va in U16
quindi la terza va in Q17 e la quarta va in U17
quindi la quinta va in Q18 e la sesta va in U18
Prova il seguente codice:
- Codice: Seleziona tutto
Function Strana(ValA, ValB, ValC) As String
RInp = "A15:G45"
ColA = 7 'Colonna G
ColB = 1 'Colonna A
ColC = 4 'Colonna D
ColVal = 6 'Colonna F
Dim StrVal As String
Application.Volatile
ContaRighe = Range(RInp).Rows.Count
ABC = ValA & ValB & ValC
For I = 0 To ContaRighe - 1
With Range(RInp).Range("A1")
RABC = .Offset(I, ColA - 1) & .Offset(I, ColB - 1) & .Offset(I, ColC - 1)
End With
If RABC = ABC Then
StrVal = Range(RInp).Range("A1").Offset(I, ColVal - 1)
Strana = Strana & StrVal & String(5 - Len(StrVal), " ")
End If
Next I
End Function
Poi in una cella libera, io ho usato Q15, scrivi la formula
- Codice: Seleziona tutto
=strana(R21;R8;R9)
Infine nelle celle dei risultati scrivi:
- Codice: Seleziona tutto
Q16 =STRINGA.ESTRAI(Q15;1;3)
U16 =STRINGA.ESTRAI(Q15;6;3)
Q17 =STRINGA.ESTRAI(Q15;11;3)
U17 =STRINGA.ESTRAI(Q15;16;3)
Q18 =STRINGA.ESTRAI(Q15;21;3)
U18 =STRINGA.ESTRAI(Q15;26;3)
Se vuoi usare il metodo anche per gli altri blocchi (colonne da Z in avanti) copia (in Z15, AI15, etc) la formula di Q15, e copia le formule dal primo blocco in giallo nei successivi.
Per la frase
la formula che ho adoperato per restringere la colonna4 range("g15;g45") non funziona bene come credevo
infatti nel caso nel valore A2 è presente 6 volte nel range("g15;g45")
quindi dovrebbe essere sia in AA21 AJ21 AS21
invece lo si trova solo in AA21 potresti controllare il codice se si deve cambiare qualcosa
sono un po' in crisi e non so interpretarla e quindi dare un suggerimento:
In AJ21 e AS21 ci sono dei valori, mentre in AA21 c' e' una formula.
Non conosco la relazione che c' e' o dovrebbe esserci tra il range G15:G45 con le celle rosse.
Infine osservo che, stante i valori che assumono Ax, Bx e Cx, le combinazioni possibili sono 150, mentre nella tabella in area D100 sono codificate in tutto solo 6 combinazioni.
Spero che la prima parte ti sia utile.
Ciao,