Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

eliminare num duplicati in riga

Ultimo Aggiornamento: 01/01/2022 13:31
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
ONLINE
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
ONLINE
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
ONLINE
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]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
eliminare una riga ogni 2 (2 messaggi, agg.: 21/12/2020 10:39)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 22:14. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com