› Sviluppare funzionalita su Microsoft Office con VBA › Controllare i valori di 2 colonne
-
AutoreArticoli
-
Salve ragazzi c'è qualcuno che ha qualche idea buona a me non mi riesce proprio
Devo trovare il totale delle celle uguali , ma il risultato esatto non mi torna
Private Sub CommandButton1_Click() For I = 3 To 16 If Right(Cells(I, 16), 1) = Cells(I, 12) Then a = a + 1 If Left(Cells(I, 16), 1) = Cells(I, 12) Then a = a + 1 If Range("L" & I) = Cells(I, 16) Then a = a + 1 Next Cells(17, 16) = a End SubAllegati:
You must be logged in to view attached files.ciao a tutti,
ciao Oscar, così a me torna.
Ciao
Frank
Private Sub CommandButton1_Click() For I = 3 To 16 If Right(Cells(I, 16), 1) = Cells(I, 12) _ Or Left(Cells(I, 16), 1) = Cells(I, 12) _ Or Range("L" & I) = Cells(I, 16) Then a = a + 1 End If Next Cells(17, 16) = a End SubGrazie tanimon per la risposta
Ho provato ma non va bene (il controllo che devo fare è su un sistema , e va bene solo in alcuni casi ) infatti la seconda colonna non va più mi da solo 10 anzichè 12
Questa è la seconda colonna
2
1X
1
1
2
2
1
1
2X
X
1X
1XIn passato lo avevo già fatto poi col cambio di Computer ho perso tutto e ora mi sono ricordato che anche ad allora con le variabili non andava bene , bisogna scompattare la colonna con le doppie e scrivere il segno su altre celle
Questa è la macro su singola colonna , ma va benissimo anche su tutto il sistema
Ringrazio tutto il forum
For I = 3 To 16 If Len(Cells(I, 16)) = 2 Then 'Controllo se c'è una doppia Cells(20, 15) = Left(Cells(I, 16), 1) 'Scrivo il segno di sinistra Cells(20, 16) = Right(Cells(I, 16), 1) 'Scrivo il segno di destra If Cells(20, 15) = Cells(I, 12) Then a = a + 1 'Controllo la cella con il segno di sinistra If Cells(20, 16) = Cells(I, 12) Then a = a + 1 'Controllo la cella con il segno di destra Cells(20, 15) = "" 'Elimino il segno di sinistra Cells(20, 16) = "" 'Elimino il segno di destra End If If Cells(I, 12) = Cells(I, 16) Then a = a + 1 'Controllo le celle senza doppie Next Cells(17, 16) = a 'Scrivo il risultatociao Oscar,
sicuramente la tua soluzione sarà più funzionale, ma anche con questa tua soluzione
a me non dà nè 10 nè 12, ma continua a dare 13 anche se in colonna "P" metto quella che hai
indicato al post #31513 che è la stessa di quella del tuo file al post #31509.
Hai qualche idea in merito?
Puoi per favore allegare il file nel quale ottieni 12 come risultato?
Ciao
Frank
Forse non l'hai copiata bene comunque vedi l'allegato
Allegati:
You must be logged in to view attached files.ciao Oscar,
ti riallego 2 files:
Oscar.xlsm ( il primo che hai allegato) ed Oscar-2.xlsm
del secondo ho copiato ed incollato il range("k3:p16") nell primo ed in entrambi ci sono i 2 buttons
con i relativi codici per i quali se in Oscar-2, sostituisci il codice che ti avevo proposto,
con il tuo primo codice che hai postato, ottengo lo stesso risultato di 14 con entrambi.
Se comunque hai verificato che non sempre ottieni il risultato voluto, ed hai risolto con la tua
ultima soluzione, meglio così.
Buona giornata
Frank
Allegati:
You must be logged in to view attached files. -
AutoreArticoli
