| | Post: 32 | Registrato il: 22/10/2021
| Città: ISEO | Età: 56 | Utente Junior | office 2010 | | OFFLINE |
|
31/12/2021 10:32 | |
ciao
tramite Macro
avrei bisogno di togliere dei numeri duplicati
in riga 2 da cella BE2 fino cella DB2
ho dei numeri in ordine crescente da 0...
( quante volte e' uscito il num xyz..)
sotto riga 3 ho i relativi numeri alcuni dei quali si ripetono
Es il num 6 0 volte il num 72 1 volta
avrei bisogno di ricreare stessa tbella
da BE5 togliendo i numeri che si ripetono
scrivendoli solo 1na volta
spero di essermi spiegato
vi allego il file
ciao
|
|
| | Post: 969 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
01/01/2022 10:17 | |
Ciao
Se ho capito bene, prova con questa macro
Sub tabella()
Dim unic As New Collection
uc = Cells(3, Cells.Columns.Count).End(xlToLeft).Column
For i = 57 To uc
On Error Resume Next
unic.Add Cells(3, i).Value, CStr(Cells(3, i).Value)
On Error GoTo 0
Next i
a = 56
For i = 1 To unic.Count
a = a + 1
Cells(6, a) = unic(i)
Next i
End Sub
Fai sapere. Ciao e Buon Anno Nuovo
Mario [Modificato da Marius44 01/01/2022 10:18] |
| | Post: 32 | Registrato il: 22/10/2021
| Città: ISEO | Età: 56 | Utente Junior | office 2010 | | OFFLINE |
|
01/01/2022 10:29 | |
ciao
Buon Anno anche a te
quasi ok la macro
mi compila correttamente la riga 6
ma mi dovrebbe riportare anche i dati relativi, in riga 5
Ad es.
il num 6 presente 2 volte viene riport. cprrettamente una volta solo in riga 6
ma dovrebbe scrivere anche in riga 5 il relativo numero che aveva trovato sopra al 6 in riga 2 ,cioe lo zero
ciao
[Modificato da raimea 01/01/2022 10:31] |
| | Post: 970 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
01/01/2022 11:00 | |
Ciao
Sostituisci la precedente con questa (provvedi tu alla dichiarazione delle variabili utilizzate e mettere in testa Option Explicit)
Sub tabella()
Dim unic As New Collection
Dim volt As New Collection
uc = Cells(3, Cells.Columns.Count).End(xlToLeft).Column
For i = 57 To uc
On Error Resume Next
unic.Add Cells(3, i).Value, CStr(Cells(3, i).Value)
aa = unic.Count
If aa <> ab Then
volt.Add Cells(2, i).Value
ab = aa
End If
On Error GoTo 0
Next i
a = 56
For i = 1 To unic.Count
a = a + 1
Cells(6, a) = unic(i)
Cells(5, a) = volt(i)
Next i
End Sub
Ciao,
Mario |
| | Post: 33 | Registrato il: 22/10/2021
| Città: ISEO | Età: 56 | Utente Junior | office 2010 | | OFFLINE |
|
01/01/2022 11:29 | |
ciao
la macro funziona
MA
quando la metto nel file originale mi riporta a fine serie
dei numeri "extra"che non ci sono in riga 2 e 3
forse sbaglio mettere le dichiarazioni ?
potresti postarmi la macro con le relative dichiaraz corrette ?
cosi posso verificare
immagine
grazie
ciao
|
| | Post: 971 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
01/01/2022 12:38 | |
Ciao Ecco il codice completo (ho aggiunto la cancellazione dei dati prima dell'esecuzione)
Option Explicit
Sub tabella()
Dim unic As New Collection
Dim volt As New Collection
Dim uc As Long, a As Long, i As Long, aa As Integer, ab As Integer
Range("BE5:DB6").ClearContents
uc = Cells(3, Cells.Columns.Count).End(xlToLeft).Column
For i = 57 To uc
On Error Resume Next
unic.Add Cells(3, i).Value, CStr(Cells(3, i).Value)
aa = unic.Count
If aa <> ab Then
volt.Add Cells(2, i).Value
ab = aa
End If
On Error GoTo 0
Next i
a = 56
For i = 1 To unic.Count
a = a + 1
Cells(6, a) = unic(i)
Cells(5, a) = volt(i)
Next i
End Sub
Comunque nel file che hai allegato a me non fa quell'effetto mostrato dall'immagine. Vedi se c'è qualche altra macro che entra in conflitto.
Ciao,
Mario |
| | Post: 34 | Registrato il: 22/10/2021
| Città: ISEO | Età: 56 | Utente Junior | office 2010 | | OFFLINE |
|
01/01/2022 13:11 | |
ciao
si .. sii
telo confermo pure io
la tua macro nel file allegato sopra funziona correttamente
anche con le dichiarazioni poi fa i --- capricci. 🤨
il problema lo fa quando la sposto in questo file "originale "
file orig
ciao 🙄
|
| | Post: 35 | Registrato il: 22/10/2021
| Città: ISEO | Età: 56 | Utente Junior | office 2010 | | OFFLINE |
|
01/01/2022 13:31 | |
azzz
ho trovato l inghippo
>>> uc = Cells(3, Cells.Columns.Count).End(xlToLeft).Column
l ultima colonna nel file originale e piu a dx rispetto al file allegato
sono riuscito a sistemare
grazie 1000
[Modificato da raimea 01/01/2022 13:31] |
|
|