Ylimääräisten rivien poisto?

Yhdistäisin yhdeksi tiedostoksi muutaman eri tiedoston, joissa on sähköpostiosoitteita. Ongelma on se, että eri tiedostoissa saattaa olla keskenään samoja osoitteita. Onkohan excelissä ominaisuutta, jolla voisi poistaa yhdistetystä tiedostosta enemmän kuin kerran esiintyvät osoitteet eli niin, että jäljelle jää vain yksi kappale kutakin osoitetta?
6721
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

moduuliin...
muuta sarake sopivaksi. Nyt A-sarakkeesta haetaa tuplia

Sub PoistaTuplat()
Dim solu As Range
Dim Vika As Double
Dim i As Long
Dim EiTupla As New Collection
On Error GoTo virhe
Vika = Range("A65536").End(xlUp).Row
Range("A" & Vika).Select
For i = Vika To 1 Step -1
If Not IsEmpty(ActiveCell) Then
EiTupla.Add ActiveCell.Value, CStr(ActiveCell.Value)
If i = 1 Then Exit For
ActiveCell.Offset(-1, 0).Select
End If
Next
Exit Sub
virhe:
ActiveCell.EntireRow.Delete
Resume Next
End Sub

Keep Excelling
@Kunde

Äänestä
  • Kiitos vastauksesta, mutta tuo taitaa mennä yli osaamiseni. Mihin ja miten tuo teksti piti syöttää? Tuo moduli -juttu meni vähän ohi.

    Äänestä

  • ei ihan virtuoosi kirjoitti:

    Kiitos vastauksesta, mutta tuo taitaa mennä yli osaamiseni. Mihin ja miten tuo teksti piti syöttää? Tuo moduli -juttu meni vähän ohi.

    Excelin puolella siis taulukkonäkymässä ALT F11 näppäinyhdistelmä avaa VBA editorin ja sieltä valitset valikosta INSERT/MODULE ja aukeavaan ikkunaan ((oletuksena Module1) kopioit koodin. Sitten vain suoritat ko proseduurin.
    vaihtoehtoisesti valikon File/Tiedosto vasemmalla puolella olevaa excel kuvaketta klikkaamalla hiiren oikealla ja valitsemalla View Code/ Näytä koodi aukeaa VBA editori ja sitten samat jutut kuin edellisessäkin

    Äänestä

  • kunde kirjoitti:

    Excelin puolella siis taulukkonäkymässä ALT F11 näppäinyhdistelmä avaa VBA editorin ja sieltä valitset valikosta INSERT/MODULE ja aukeavaan ikkunaan ((oletuksena Module1) kopioit koodin. Sitten vain suoritat ko proseduurin.
    vaihtoehtoisesti valikon File/Tiedosto vasemmalla puolella olevaa excel kuvaketta klikkaamalla hiiren oikealla ja valitsemalla View Code/ Näytä koodi aukeaa VBA editori ja sitten samat jutut kuin edellisessäkin

    No, niin. Onnistuuhan se kun rautalangasta vääntää. Kiitos paljon.

    Äänestä

Hyvänen aika ei tämän takia tarvitse alkaa ohjelmaa kirjoittaa. Valitse 'Tiedot' ja sen jälkeen 'Poista kaksoiskappaleet'

Äänestä
  • eipähän ole tommosta toimintaa vanhemmissa Excelissä....
    ja vot on hyvä ja kertoo mitenkä hän sen tekee 2003 versiossa ilman makroa?

    Äänestä

Kommentoi aloitusta


Avusta kiitollinen kirjoitti:

Yhdistäisin yhdeksi tiedostoksi muutaman eri tiedoston, joissa on sähköpostiosoitteita. Ongelma on se, että eri tiedostoissa saattaa olla keskenään samoja osoitteita. Onkohan excelissä ominaisuutta, jolla voisi poistaa yhdistetystä tiedostosta enemmän kuin kerran esiintyvät osoitteet eli niin, että jäljelle jää vain yksi kappale kutakin osoitetta?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu