Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Excel elimina num doppi

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel elimina num doppi

Postdi Francesco53 » 04/09/11 16:17

Buonasera a tutto il Forum,
ho il seguente problema ho in un Range Esempio D4:H9 una serie di numeri alcuni si ripetono
più di una volta e altri solo una. Io vorrei scrivere alcune righe sotto i numeri solo una volta e
raggruppandoli come in figura che allego.
Immagine
Grazie
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Sponsor
 

Re: Excel elimina num doppi

Postdi Flash30005 » 05/09/11 07:41

In che senso? :roll:
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel elimina num doppi

Postdi Francesco53 » 05/09/11 08:13

Buongiorno,
partendo dalla prima colonna riportare i numeri, e quando si passa alla colonna successiva, se un numero
è già presente nella precedente non metterlo, e così per le altre, in poche parole deve eliminare i numeri
doppi già presenti nelle colonne precedenti.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Excel elimina num doppi

Postdi Anthony47 » 05/09/11 14:41

Ad esempio:
Codice: Seleziona tutto
Sub piop()
Dim CCC(1 To 90)
Set Sorg = Range("D4:H15")    '<<< Area sorgente
Set Dest = Range("D25")     '<<<< Prima cella di destinazione
'
Set SorgTL = Sorg.Range("A1")
For CCol = 0 To Sorg.Columns.Count - 1
    CDop = 0
    For CRow = 0 To Sorg.Rows.Count - 1
        CCel = SorgTL.Offset(CRow, CCol)
        If CCC(CCel) = 0 Then Dest.Offset(CRow - CDop, CCol) = CCel _
          Else CDop = CDop + 1
        CCC(CCel) = 1
    Next CRow
Next CCol
End Sub

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel elimina num doppi

Postdi Flash30005 » 05/09/11 15:04

Prova questa macro
Codice: Seleziona tutto
Sub ElimNumDoppi()
Dim VettN(90) As Integer
Range("D12:H17").ClearContents
For CC = 4 To 8
    For RR = 5 To 10
    VettN(Cells(RR, CC).Value) = VettN(Cells(RR, CC).Value) + 1
        For CC2 = CC To 8
            For RR2 = 12 To 17
            If VettN(Cells(RR, CC).Value) = 1 And Cells(RR2, CC2).Value = "" Then
                Cells(RR2, CC2).Value = Cells(RR, CC).Value
                GoTo saltaRR
            End If
            Next RR2
        Next CC2
saltaRR:
    Next RR
Next CC
End Sub


Ciao

Edit: Leggi il post di Anthony con soluzione (stavo creando la macro e quando l'ho inviata...)
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Excel elimina num doppi

Postdi Francesco53 » 05/09/11 15:41

Ringrazio entrambi per l'aiuto.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Excel elimina num doppi

Postdi Francesco53 » 05/09/11 15:42

Sono perfette.
Grazie
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: Excel elimina num doppi

Postdi Statix » 06/09/11 13:19

Ciao a tutti,
Anthony47, tempo fa aveva già dato una soluzione simile
Codice: Seleziona tutto
Sub collax()
CelleFree = "J1"    '<< Colonna in cui sara' scritto il report
TuArea = "C1:G300" '<< Area con i dati
'
Compen = Range(TuArea).Column
Application.ScreenUpdating = False
For Each Cella In Range(TuArea)
Set CFormArea = Range(TuArea).Offset(Cella.Row).Resize(Range(TuArea).Rows.Count - Cella.Row +1)
If Application.WorksheetFunction.CountIf(CFormArea, Cella.Value) = 0 Then _
   Range(CelleFree).Offset(Rows.Count - 1, Cella.Column - Compen).End(xlUp).Offset(1, 0) = Cella.Value
Next Cella
Application.ScreenUpdating = False
End Sub
Statix
Windows 7,
Office 2010,
Statix
Utente Senior
 
Post: 1078
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta


Torna a Applicazioni Office Windows


Topic correlati a "Excel elimina num doppi":


Chi c’è in linea

Visitano il forum: raimea e 9 ospiti