The Alexsandra Spaces

Internet – Sicurezza – Excel & VBA

Excel :: Dario

Pubblicato da Alexsandra su Settembre 9, 2007

Questa sezione è riservata al problema esposto da Dario prego gli altri utenti di postare quì consigli, suggerimenti esempi ma non altre problematiche…. Grazie ••• Ritorna alla pagina precedente •••

Questo è il quesito posto:

volevo sapere se c’era un modo per far riconoscere automaticamente delle colonne o righe uguali e una volta individuate cancellarle,o in automatico o manualmente.
In poche parole io ho vari tabulati con nominativi che corrispondono a indirizzi cap etc..in alcuni passaggi del mio lavoro mi capita di dover individuare quali i nominativi doppi e doverli cancellare..però magari la colonna del nome è diversa, ma la colonna dell’indirizzo è uguale, ecco a me servirebbe qualcosa che individua se c sono delle colonne uguali(di cui io gli dirò quali),e o me le evidenzi e basta o addirittura le cancelli

Altro quesito posto da Dario

Ciao a tutti! Sto cercando un corso di web design, se così si chiama, intendo un corso per la progettazione seria di siti web. Qualcuno ne conosce qualcuno serio? che programmazione dovrebbe avere per essere reputato tale? Sono interessato all’azienda sinervis, ne avete mai sentito parlare e secondo voi com’è??

30 Risposte a “Excel :: Dario”

  1. Alexsandra detto

    Sarebbe opportuno vedere uno screen del tuo foglio come memorizzi i nominativi. Per vedere che macro fare è indispensabile sapere come gli gestisci.

    es. il nominativo è su 2 colonne?

    Alex può essere il nome su una colonna
    del Piero il cognome su altra colonna

    in questo caso è difficile che ci siano nominativi uguali

    per l’indirizzo stessa cosa, vediamo come è inserito

    es. V. Cefalonia 43 ….. oppure Cefalonia 43

    anche in questo caso si può operare come si vuole.

    io direi di vedere uno screen e poi decidiamo come fare.

    ciao e… benvenuto

  2. Dario detto

    Salve…inanzitutto grazie per l’interesse..
    cercherò di esprimermi meglio: allora io ho il mio file di excel di svariate righe con queste 10 colonne:

    1-s.e.
    2-azienda
    3-nome 1
    4-nome 2
    5-cognome
    6-indirizzo (nel quale segniamo via,corso,etc..)
    7-città
    8-provincia
    9-nazione
    10-data scadenza

    Allora..ad un certo punto in questo foglio di excel devo iserire altri nominativi, organizzati allo stesso modo,di un altro foglio excel con la stessa disposizione in 10 colonne. Ora nel fare questo io faccio un copia e incolla. A questo punto nel documento principale succede spesso che ci siano 2 righe uguali. Per determinare se due righe sono uguali NON devo guardare che le righe siano completamente uguali in tutte le colonne, ad esempio:

    pincopallo alto rosso blu 1234
    caiosempronio alto rosso verde 1234

    ad esempio questi due nominativi per me costituiscono un doppione,e per capirlo nn mi baso come si può vedere, dalla prima colonna (che son diversi), ma piuttosto dalla seconda e dalla terza. Quindi quello che farebbe al caso mio, sarebbe una macro (non so se così si chiami) che andasse a cercare in questo caso le seconda e le terza colonne uguali (quindi che mi facesse scegliere le colonne che deve esaminare) e me le evidenziasse oppure me ne cancellasse soltanto una delle due. Nel mio caso le colonne che devono essere uguali per costituire un doppione solo le “F” e “I” .

    Spero di essere stato chiaro,effettivamente forse è un po’ difficile da capire. Comunque se aveste bisogno di ulteriori chiarimenti, risponderò prontamente.

    Grazie ancora!

  3. Dario detto

    rettifico..visto che i nominativi sono stati compilati da cani e non è detto che se la colonna “F” ed “I” sono uguali siano uguali i nominativi, sarebbe il massimo se questa macro mi evidenziasse solo i nominativi con la colonna “F” ed “I” uguali ma non me li cancellasse, dimodocché lui me li evidenzia e poi io decido se siano effettivamente da cancellare o no.

    Grazie, e scusate..

  4. Alexsandra detto

    Faccio delle prove e poi ti posto il codice.

    ciao

  5. Dario detto

    Ho provato ad inserire la seguente macro per evidenziare i dati doppi nelle colonne:

    Private Sub CommandButton1_Click()
    For I = 3 To 20000
    presente = Cells(I, 3)
    If presente = “” Then GoTo Ultimo
    Next I
    Ultimo:
    Range(Cells(3, 1), Cells(I + 2, 6)).Select
    Selection.Sort Key1:=Range(”c3″), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

    Range(”a1″).Select
    For Riga = 3 To I – 1
    fattura = Cells(Riga, 3)
    doppia = Cells(Riga + 1, 3)
    If fattura = doppia Then Range(Cells(Riga + 1, 1), Cells(Riga + 1, 4)).Interior.ColorIndex = 6
    Next Riga
    End Sub

    Però mi da errore di sintassi nella seguente parte:

    Selection.Sort Key1:=Range(”c3″), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

    Cosa devo fare? Forse sbaglio io ad inserire il codice

  6. Dario detto

    grazie mille!!

  7. Alexsandra detto

    Ora tocca a Dario, se ce la faccio ti posto il codice stasera, max domani.
    1° giorno di scuola oggi, mettere il piccolo a letto presto è un’impresa

    ciao

  8. Dario detto

    Grazie davvero tante..comunque figurati fai con calma, già tanto ke ti sbatti in questo modo. Non c’è fretta, non appena ti è possibile.

    ciao

  9. Alexsandra detto

    Ora possiamo vedere il tuo problema :D
    sorry per l’attesa ma …. sono da sola a mandare avanti la baracca.

  10. Alexsandra detto

    Ho bisogno di un chiarimento su quali colonne vengono utilizzate per il confronto. ti allego un file di esempio, guarda come ho disposto le colonne e dimmi se la ricerca di doppioni và fatta sulle colonne evidenziate (non credo), credo che nel tuo foglio tu non parti dalla colonna A.

    In ogni caso modifica le colonne come le hai tu (lasciale vuote) e colorami le colonne da ordinare

    questo mi serve per sapere da che colonna parti con la dicitura(S.E) e cosa c’è prima, perchè per sveltire le operazioni voglio eseguire un ordinamento in base a 2 colonne, per cui se hai altre colonne prima devo selezionare l’intervallo totale.

    http://www.mediafire.com/?2bxmqtpv5nn

    fammi sapere

    ciao

  11. Dario detto

    Grazie :D !

  12. Dario detto

    Ciao!Ecco le colonne sono esattamente queste:

    A…Serie num
    B…nome Azienda
    C…nome 1
    D…nome2
    E…nome3
    F…indirizzo
    G..cap
    H…località
    I…provincia
    J…nazione
    k…scadenza abbonamento

    Ok..praticamente le colonne sulle quali la macro si dovrebbe basare per vedere se ci sono dei doppioni ed evidenziarle soltanto sono le colonne “F” ed “I”..

    Grazie ancora!

  13. Alexsandra detto

    ok, ora è chiaro, ti preparo il codice.

    ciao

  14. Alexsandra detto

    la provincia (colonna I) la metti in sigla o per esteso?

    fra un po’ arriva il file :D

  15. Dario detto

    La metto in sigla!

  16. Alexsandra detto

    ricevuto :D

    ciao

  17. Alexsandra detto

    quì http://www.mediafire.com/?5jiwy0vg4hi trovi un esempio.
    il file funziona così, premi sul tasto “trova doppioni” e ti evidenzia le righe doppie in base alle colonne F e I, se vuoi cancellare clicca sul tasto “elimina”.
    PS. in caso di 2 o più doppioni devi premere più volte il tasto elimina, l’ho fatto così per darti la possibilità di controllare meglio i tuoi dati.

    girando una riga di codice si può eliminare tutto in un colpo solo.

    provalo e fammi sapere

    ciao

  18. Dario detto

    Grazie mille!!! E’ perfetta!Funziona alla perfezione!

    Ciao

  19. Alexsandra detto

    benissimo. alla prossima

    ciao

  20. by sal detto

    Ottobre 1, 2007 a 6:10 pm e

    Ciao Dario, fare il Web Designer, implica una forte creatività, hai fatto prima una passeggiata sui vari forum, che parlano di Web Designer, giusto per ampliarti le conoscenze, sapere i programmi che occorrono le varie conoscenze, se poi vuoi diciamo essere riconosciuto di aver partecipato a dei corsi ce ne sono a migliaia, basta fare la ricerca, non mi sento di consigliarti quale sia il migliore, bisogna vedere anche la tua conoscenza di base per consigliarti, ma prova prima quelli regionali, se riesci ad entrarci, oppure farli in contemporanea il privato ed il pubblico, il pubblico è sempre più riconosciuto.
    Ma come ho detto in principio, se hai una forte creatività, e motivazione, non hai necessità di un corso, proponiti nel Web che è la strada migliore, ciao Sal

  21. AMEDEO detto

    Ciao Alexsandra, ho provato ad utilizzare la macro che avevi fatto per Dario, però qualcosa non mi funziona. Innanzitutto vorrei eliminare le righe che hanno lo stesso cognome e nome tendendo conto che sono in unica cella come puoi vedere dal sottoriportato elenco.il controllo lo vorrei fare su colonna A1 (nominativocontraente) e H (CODICE FISCALE/PARTITA IVA) HO INSERITO LA macro modificata ma non funziona .cosa bisogna fare per far controllare tutto il cognome e nome? grazie
    Amedeo

    Nominativo Contraente () DATA NASC S Indirizzo Contraente CAP Comune Contraente PR C.F. / P.IVA Contraente TEL CELL FAX E-Mail Contraente
    DE TOMMASO GABRIELLA 23/11/1978 F VIA ISLANDIA 113 72100 BRINDISI BR DTMGRL64S63B180T
    ZANZARIELLO GIOVANNI 03/07/1968 M VIA S.MARTINO DELLA BATTAGLIA 8/B 72100 BRINDISI BR ZNZGNN65L03B180J
    ZANZARIELLO GIOVANNI 03/07/1969 M VIA S.MARTINO DELLA BATTAGLIA 8/B 72100 BRINDISI BR ZNZGNN65L03B180JSub evidenzia()
    For A = 2 To 20000
    presente = Cells(A, 2)
    If presente = “” Then GoTo Ultimo
    Next I
    Ultimo:
    ‘Range(Cells(2, 1), Cells(A + 2, 5184)).Select

    Range(“A1:K5184″).Select
    Selection.Sort Key1:=Range(“A2″), Order1:=xlAscending, Key2:=Range(“H2″) _
    , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
    False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
    :=xlSortNormal

    Range(“a2″).Select
    For Riga = 2 To I – 1
    fattura = Cells(Riga, 5184) & Cells(Riga, 5200)
    doppia = Cells(Riga + 1, 5184) & Cells(Riga, 5200)
    If fattura = doppia Then Range(Cells(Riga + 1, 1), Cells(Riga + 1, 11)).Interior.ColorIndex = 5184
    Next Riga
    End Sub

    Sub elimina()

    For A = 2 To 20000
    presente = Cells(I, 5184)
    If presente = “” Then GoTo Ultimo
    Next I
    Ultimo:
    ‘Range(Cells(2, 1), Cells(I + 2, 5184)).Select

    Range(“A1:K5184″).Select
    Selection.Sort Key1:=Range(“A2″), Order1:=xlAscending, Key2:=Range(“H2″) _
    , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
    False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
    :=xlSortNormal

    Range(“a2″).Select
    For Riga = 2 To I – 1
    fattura = Cells(Riga, 5184) & Cells(Riga, 5200)
    doppia = Cells(Riga + 1, 5184) & Cells(Riga, 5200)
    If fattura = doppia Then Range(Cells(Riga + 1, 1), Cells(Riga + 1, 11)).Rows.EntireRow.Delete
    Next Riga

    End Sub

  22. Alexsandra detto

    @Amedeo

    Prova questo codice
    http://www.mediafire.com/?4ldwsujlkxo

    :D ciao

  23. Alberto detto

    Complimenti Alexsandra. Cercando con Google ho trovato le tue pagine e sono veramente istruttive. Cercavo, leggendo quanto rispondevi a Dario, di scaricare il file per un problema analogo ma non ci riesco. Forse bisogna iscriversi. Gradirei averne qualche informazione.
    Grazie

  24. Alexsandra detto

    io ho l’accont a quel link, tu per scaricare il file devi concedere cookies e java, attendi un attino e ti compare il link del download, clicca sopra al ink e scarichi il file.
    se hai problemi metti un post che te lo mando per email :D

  25. DONNY detto

    volevo scaricare il file di amedeo ma risulta rimosso.
    quello di dario non fa il controllo contemporaneo su due colonne……..
    Grazie mille
    Donato

  26. DONNY detto

    Scusa Alexandra, ne approfitto…..
    ho fatto un lavoro in excel e in una cella del foglio inserisco dei dati da un elenco che è in un altro foglio collegato con convalida dati, ma risulta molto lento e poi non si può scorrere con la rotellina……….
    è possibile fare diversamente? per esempio proponendo il nome dopo una compilazione parziale del nome oppure?
    Grazie tantissimo
    Donato

  27. Alexsandra detto

    @DONNY
    il link per il file di amedeo funziona, devi concedere Java e cookies per prelevarlo, altrimenti non parte il download, se non riesci lasciami un post che te lo mando per email.
    per l’altro quesito faccio qualche prova, mi sembra di aver capito il tuo problema, nel frattempo se potresti spiegarlo meglio mi sarebbe più utile capire che procedimento hai usato e/o quello che vorresti adottare.

    ciao

  28. DONNY detto

    scusa ma proprio non riesco a scaricarlo……..
    mi dà questo messaggio:
    Oops! File not found. This error has been forwarded to MediaFire’s development team.
    ….quello per Dario e altri li ho scaricati tranquillamente………
    …..se puoi mandarmelo per e-mail…ti ringrazio.
    Per l’altra richiesta:
    io compilo un foglio con alcuni dati variabili ed alcuni li prelevo da un elenco che è in un altro foglio che è nella stessa cartella e sono collegati nella cella con CONVALIDA DATI (nomi vie, nomi persone, nomi città, nomi nazionalità, ecc.). Funziona tutto ma…..il problema è che bisogna scorrere l’elenco con la barretta laterale perchè la rotellina non funziona…….. ovviamente luso della rotellina ovvero di una macro di ricerca con dati parziali agevolerebbe parecchio…..
    Il foglio così compilato poi viene salvato in un un foglio database (con una macro tipo salva fattura)per un utilizzo successivo (tipo richiama fattura emessa) e questo funziona…..

    Grazie

  29. Alexsandra detto

    @DONNY

    Hai ragione, il link non parte e mi da lo stesso errore che indichi tu. vedo di sistemarlo, ma da questa posizione non riesco a inviarti il file.
    lo farò in serata.
    per l’altra richiesta potresti essere un po’ più chiaro?

    ciao

  30. Bruno52 detto

    Gent.ma Alexsandra,
    in relazione al quesito di Dario circa la macro per eliminare/cancellare i doppioni, ti scrivo perchè sono rimasto incantato dalla cortesia delle risposte e dalla disponibilità dimostrata nella soluzione. Io non sono più giovane (di età) e non sono nemmeno un gran drago con il PC (di VBA non ne capisco un’H) ma mi affascina la preparazione di persone come voi e di come ci smanettate alla grande.
    Vengo al dunque: ho un problema analogo a Dario ed utilizzo un foglio ExL nel quale inserisco tutti i nominativi e le date degli appuntamenti con i clienti (sono agente di commercio). Anch’io ho l’esigenza di aggiornare i campi ripetuti con evidenziazioni o cancellazioni, ma mi servirebbe capire il funzionamento della macro che hai proposto a Dario per poterla eventualmente modificare in relazione alle colonne o alle righe che intendo confrontare. Premetto che ho circa un migliaio di righe su un decina di colonne (rif.,località,via,cap,email1,email2,visita,referente,note,varie). Spero tu mi possa aiutare perchè è da tanto tempo che ci giro intorno senza risolvere.
    Un cordiale “Grazie” … anche se dovessi aver sbagliato il post!
    Bruno52

Lascia un commento

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>