Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di gaetes
    Registrato dal
    Feb 2006
    Messaggi
    40

    Rimuovere righe uguali da due file diversi in Excel

    Salve a tutti,
    ho un problema per quanto riguarda la rimozione di alcune righe uguali da un foglio excel.
    In pratica ho un foglio excel con 8000 clienti ed altri 2 fogli con un totale di 3000 che sono inseriti anche nel foglio di 8000.
    Vorrei fare in modo che questi 3000 fossero cancellati dal foglio di 8000.
    Scusatemi per la spiegazione forse non molto comprensibile, ma c'è qualcuno che gentilmente potrebbe aiutarmi a risolvere tale problema?
    Grazie mille.

  2. #2
    Utente di HTML.it L'avatar di gaetes
    Registrato dal
    Feb 2006
    Messaggi
    40
    Nessuno sa come poter fare?

  3. #3
    Utente di HTML.it L'avatar di gaetes
    Registrato dal
    Feb 2006
    Messaggi
    40

    Eliminazione righe doppie in excel

    Salve, forse potrebbe essere più semplice.
    Ho Inserito tutti i nominativi in un'unico file, in questo modo alcuni clienti compaiono 2 volte, e proprio questi che compaiono 2 volte vorrei eliminarli completamente.
    Ho provato ad utilizzare la formattazione condizionale ma è un lavoro lungo perchè posso confrontarli uno alla volta (almeno per quello che ne so io).
    Qualcuno conosce un'altro metodo come poter risolvere?
    Grazie mille per la vostra disponibilità.

  4. #4

    Re: Eliminazione righe doppie in excel

    Originariamente inviato da gaetes
    Salve, forse potrebbe essere più semplice.
    Ho Inserito tutti i nominativi in un'unico file, in questo modo alcuni clienti compaiono 2 volte, e proprio questi che compaiono 2 volte vorrei eliminarli completamente.
    Ho provato ad utilizzare la formattazione condizionale ma è un lavoro lungo perchè posso confrontarli uno alla volta (almeno per quello che ne so io).
    Qualcuno conosce un'altro metodo come poter risolvere?
    Grazie mille per la vostra disponibilità.
    Ma non avevi inizialmento posto il quesito su un altro thread ("Eliminare righe uguali di Excel"), dove avevo gia' postato una routine che risolveva il problema...?
    Era stato poi chiuso dal moderatore proprio perche' avevi contemporaneamente aperto questo...

    Se ora hai ridotto il problema a quello precedente, dovresti poter facilmente adattare quella routine alle tue necessita'....
    (Anche se e' chiuso, puoi leggere le risposte e prelevare il codice.... )

    Ciao !
    IceCube_HT (VB6 fan Club)

  5. #5
    Utente di HTML.it L'avatar di gaetes
    Registrato dal
    Feb 2006
    Messaggi
    40
    Grazie per avermi risposto.
    Vi chiedo scusa se non ho seguito il regolamento.
    Comunque l'ho letto quel thread, credevo che fosse adatto per le mie esigenze,ma quel codice elimina solo una riga.
    Mentre a me servirebbe elimanare tutte e due le righe che sono uguali.
    Di vba ne conosco davvero zero,purtroppo non utilizzo questo linguaggio,soltanto che cercavo qualche modo per allegerire questo lavoro, che peraltro è un piacere che faccio ad un'amico.
    Grazie

  6. #6
    Originariamente inviato da gaetes
    Grazie per avermi risposto.
    Vi chiedo scusa se non ho seguito il regolamento.
    Comunque l'ho letto quel thread, credevo che fosse adatto per le mie esigenze,ma quel codice elimina solo una riga.
    Mentre a me servirebbe elimanare tutte e due le righe che sono uguali.
    Di vba ne conosco davvero zero,purtroppo non utilizzo questo linguaggio,soltanto che cercavo qualche modo per allegerire questo lavoro, che peraltro è un piacere che faccio ad un'amico.
    Grazie
    Prova cosi' (fatti PRIMA una copia del file, eh!)

    codice:
    Sub EliminaRigheDoppie()
       Dim i&, j&, ULTIMA&, PRIMA&, COL%
       COL = 1      'la colonna su cui eseguire il confronto
       PRIMA = 1   'questa e' la riga da cui iniziare a cercare
       i = PRIMA
       Do    'ora cerca l'ultima riga significativa (cioe' <> "")
          If Cells(i, COL) = "" Then ULTIMA = i - 1: Exit Do
          i = i + 1
       Loop
       i = PRIMA    'confrontiamo questa riga....
       Do
          j = ULTIMA  'con tutte le successive, partendo dal fondo
          Do
             If Cells(i, COL) = Cells(j, COL) Then
                'sono uguali, seleziona l'intera riga ed eliminala !
                Rows(j).Select
                Selection.Delete Shift:=xlUp
                ULTIMA = ULTIMA - 1  'abbiamo eliminato una riga
             End If
             j = j - 1
          Loop Until j < i    ' <---- l'unica modifica e' qui !
          i = i + 1
       Loop Until i >= ULTIMA
    End Sub
    IceCube_HT (VB6 fan Club)

  7. #7
    Utente di HTML.it L'avatar di gaetes
    Registrato dal
    Feb 2006
    Messaggi
    40
    Grazie mille!!!
    Funziona benissimo.
    Mi hai fatto risparmiare un sacco tempo.
    Ancora grazie.

    Se passi da qui ti offro una cena.

  8. #8
    Utente di HTML.it L'avatar di gaetes
    Registrato dal
    Feb 2006
    Messaggi
    40
    Salve, ho controllato bene(la lista è lunga),il codice non funziona correttamente.
    Non mi elimina le doppie righe, anzi se lo ripeto più volte elimina sempre fino a cancellarle tutte.
    Gentilmente potreste aiutarmi a risolvere questo problema?
    Grazie

  9. #9
    Utente di HTML.it L'avatar di gaetes
    Registrato dal
    Feb 2006
    Messaggi
    40
    Susami sicuramente mi sono spiegato male.
    Per intenderci mi funziona in questo modo:
    2 colonne
    a 1
    a 1
    b 2
    b 2
    c 3

    Quando gli do il comando con il macro, facendogli valutare la seconda colonna, cancella solo a1- a1- b2-, lasciando le righe b2 e c3.
    Ciao, e grazie per una vostra eventuale risposta.

  10. #10
    Originariamente inviato da gaetes
    Salve, ho controllato bene(la lista è lunga),il codice non funziona correttamente.
    Non mi elimina le doppie righe, anzi se lo ripeto più volte elimina sempre fino a cancellarle tutte.
    Gentilmente potreste aiutarmi a risolvere questo problema?
    Grazie
    Ero stato un po' troppo ottimista sulle modifiche al codice, c'era da cambiare anche qualcos'altro...

    Questa e' la versione corretta:

    codice:
     
    Sub EliminaRigheDoppie()
       Dim i&, j&, ULTIMA&, PRIMA&, COL%, flag As Boolean
       COL = 1      'la colonna su cui eseguire il confronto
       PRIMA = 1   'questa e' la riga da cui iniziare a cercare
       i = PRIMA
       Do    'ora cerca l'ultima riga significativa (cioe' <> "")
          If Cells(i, COL) = "" Then ULTIMA = i - 1: Exit Do
          i = i + 1
       Loop
       i = PRIMA    'confrontiamo questa riga....
       Do
          flag = False
          j = ULTIMA  'con tutte le successive, partendo dal fondo
          Do
             If Cells(i, COL) = Cells(j, COL) Then
                'sono uguali, seleziona l'intera riga ed eliminala !
                Rows(j).Select
                Selection.Delete Shift:=xlUp
                ULTIMA = ULTIMA - 1  'abbiamo eliminato una riga
                flag = True   ' annotiamoci che va eliminata anche la riga i 
             End If
             j = j - 1
          Loop Until j <= i
          If flag Then   'abbiamo eliminato qualche riga ?
             Rows(i).Select   'allora eliminiamo anche la riga base
             Selection.Delete Shift:=xlUp
             ULTIMA = ULTIMA - 1
          Else
             i = i + 1
          End If
       Loop Until i >= ULTIMA
    End Sub
    IceCube_HT (VB6 fan Club)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.