Pagina 1 di 1
[Risolto] confronta celle ed estrai valori uguali
Inviato: mercoledì 3 settembre 2014, 10:35
da b1313
Ciao!
dalla seguente tabella vorrei estrarre nella colonna C i valori che sono presenti sia in colonna A sia in colonna B. Come posso fare?
A1 1,2,3,4,5,6,7,8,9,10
B1 3,5,8,11,17,21
C1 3,5,8
A2 4,5,6,7,8,9,10
B2 7,9,11,23
C2 7,9
...
Grazie
Re: confronta celle ed estrai valori uguali
Inviato: mercoledì 3 settembre 2014, 11:33
da charlie
Ciao, se vuoi un aiuto concreto, allega prima un file .ods con i contenuti che vuoi estrarre.
Re: confronta celle ed estrai valori uguali
Inviato: mercoledì 3 settembre 2014, 11:42
da Gaetanopr
Con formule non saprei, prova questa macro
Codice: Seleziona tutto
REM ***** BASIC *****
Sub Main
Dim Riscontri()
doc=thiscomponent
Sh1 = Doc.Sheets(0)
c = Sh1.createCursor
c.gotoEndOfUsedArea(false)
LastRow = c.RangeAddress.EndRow
For i = 0 to LastRow
x = 0
oCell1 = Sh1.getCellByPosition(0, i)
Array1 = Split(oCell1.String,",")
oCell2 = Sh1.getCellByPosition(1, i)
Array2 = Split(oCell2.String,",")
For n = Lbound(Array1) To Ubound(Array1)
For y = Lbound(Array2) To Ubound(Array2)
If Array1(n) = Array2(y) Then
Redim Preserve Riscontri(0 to x)
Riscontri(x) = Array1(n)
x = x + 1
End If
Next y
Next n
Sh1.getCellByPosition(2, i).String = Join( Riscontri(), "," )
Next i
End Sub
Re: confronta celle ed estrai valori uguali
Inviato: mercoledì 3 settembre 2014, 12:08
da Mizio1961
Ciao
In aggiunta a quanto già detto dagli altri, ti allego il file .ods con un esempio di formula che puoi usare
Saluti by Mizio
Re: confronta celle ed estrai valori uguali
Inviato: venerdì 5 settembre 2014, 11:30
da b1313
Ciao!
allego il file dove ho provato la macro indicata sopra.
Credo ci sia un leggero errore perchè se non trova valori uguali mi visualizza la cella superiore, se invece li trova me li visualizza corretti.
Nel file ho evidenziato di giallo gli errori delle prime 40 righe circa...
grazie
charlie ha scritto:Ciao, se vuoi un aiuto concreto, allega prima un file .ods con i contenuti che vuoi estrarre.
Re: confronta celle ed estrai valori uguali
Inviato: venerdì 5 settembre 2014, 11:39
da Gaetanopr
Credo che tu non abbia provato la macro che ti ho allegato
segui le seguenti istruzioni
http://professoressa.altervista.org/Dis ... re_OOo.pdf
ti allego il tuo file con già la macro inserita
Re: confronta celle ed estrai valori uguali
Inviato: venerdì 5 settembre 2014, 11:50
da b1313
Re: confronta celle ed estrai valori uguali
Inviato: venerdì 5 settembre 2014, 12:02
da b1313
Ho provato il file con la macro indicata da gaetanopr.
Ho inserito un altra riga (A4 1,3,5 B4 7,10,12), in questo caso non dovrebbe in C4 restituirmi niente, ma dopo aver eseguito la macro mi visualizza la cella sovrastante C3.
Devo modificarla? e come posso fare?
grazie
Re: confronta celle ed estrai valori uguali
Inviato: venerdì 5 settembre 2014, 12:07
da Gaetanopr
Cambia con questa
Codice: Seleziona tutto
Sub Main
Dim Riscontri()
doc=thiscomponent
Sh1 = Doc.Sheets(0)
c = Sh1.createCursor
c.gotoEndOfUsedArea(false)
LastRow = c.RangeAddress.EndRow
For i = 0 to LastRow
x = 0
oCell1 = Sh1.getCellByPosition(0, i)
Array1 = Split(oCell1.String,",")
oCell2 = Sh1.getCellByPosition(1, i)
Array2 = Split(oCell2.String,",")
For n = Lbound(Array1) To Ubound(Array1)
For y = Lbound(Array2) To Ubound(Array2)
If Array1(n) = Array2(y) Then
Redim Preserve Riscontri(0 to x)
Riscontri(x) = Array1(n)
x = x + 1
End If
Next y
Next n
If x > 0 Then
Sh1.getCellByPosition(2, i).String = Join( Riscontri(), "," )
Else
Sh1.getCellByPosition(2, i).String = ""
End if
Next i
End Sub
Re: confronta celle ed estrai valori uguali
Inviato: venerdì 5 settembre 2014, 12:13
da b1313
funziona, perfetto!! grazie mille