Duplikaattien poisto

Avun tarpeessa

Miten saan poistettua yhdeltä riviltä ylimääräiset tekstit.
Tarkoituksena saada vain yhden kerran kukin teksti riville. Duplikaattien poistolla en ainakaan suoraan siinä onnistunut.
Eli jokaisella rivillä sama teksti 4-5 kertaa ja 4-5 eri tekstin pätkää. Näistä pitäisi saada poistettua ne ylimääräiset.

8

745

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • rautalankaa vailla

      kaipaa. Onko nuo poistettavat tekstit aina omassa sarakkeessaan (koko solu teksteineen voidaan tyhjentää/poistaa) vai voiko ne olla solussa tekstin keskelläkin?
      Anna esimerkki.

      • apua vailla

        Kaikki tekstit ovat omissa sarakkeissaan samalla rivillä esim. 1,2,4,3,2,3,1... jne. Eli ei missään järjestyksessä vaan täysin randomisti. Nyt sieltä välistä pitäisi vaan saada ne ylimääräiset tekstit pois ja myöskin niiden sarakkeet poistettua.
        Esim.

        Kyllä , Ei , Ehkä , Mahdollisesti , Kyllä , Mahdollisesti, Ehkä , Ei , Kyllä , Ei Mahdollisesti , Ehkä , Ehkä , Kyllä , Mahdollisesti, Ei
        Muotoon
        Kyllä , Ei , Ehkä , Mahdollisesti

        Kiitoksia vaan avusta jo etukäteen


      • apua vailla kirjoitti:

        Kaikki tekstit ovat omissa sarakkeissaan samalla rivillä esim. 1,2,4,3,2,3,1... jne. Eli ei missään järjestyksessä vaan täysin randomisti. Nyt sieltä välistä pitäisi vaan saada ne ylimääräiset tekstit pois ja myöskin niiden sarakkeet poistettua.
        Esim.

        Kyllä , Ei , Ehkä , Mahdollisesti , Kyllä , Mahdollisesti, Ehkä , Ei , Kyllä , Ei Mahdollisesti , Ehkä , Ehkä , Kyllä , Mahdollisesti, Ei
        Muotoon
        Kyllä , Ei , Ehkä , Mahdollisesti

        Kiitoksia vaan avusta jo etukäteen

        oletuksena, että sarakkeessa A on tietoa...

        moduuliin ...

        Sub PoistaTuplatRiviltä()
        Dim Solu As Range
        Dim Alue As Range
        On Error Resume Next

        Range("A1").Select
        Do Until ActiveCell = ""
        Set Alue = Range(ActiveCell, ActiveCell.Offset(0, 255).End(xlToLeft))
        For Each Solu In Alue
        If WorksheetFunction.CountIf(Alue, Solu) > 1 Then
        Solu.Clear
        End If
        Next Solu
        Alue.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
        ActiveCell.Offset(1, 0).Select
        Loop
        End Sub


      • Avun tarpeessa
        kunde kirjoitti:

        oletuksena, että sarakkeessa A on tietoa...

        moduuliin ...

        Sub PoistaTuplatRiviltä()
        Dim Solu As Range
        Dim Alue As Range
        On Error Resume Next

        Range("A1").Select
        Do Until ActiveCell = ""
        Set Alue = Range(ActiveCell, ActiveCell.Offset(0, 255).End(xlToLeft))
        For Each Solu In Alue
        If WorksheetFunction.CountIf(Alue, Solu) > 1 Then
        Solu.Clear
        End If
        Next Solu
        Alue.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
        ActiveCell.Offset(1, 0).Select
        Loop
        End Sub

        Kiitoksia avusta.

        Ei kyllä vielä toimi ihan täysin. Olen amatööri näitten VBA koodien kanssa, sain kyllä ajettua sen moduuliin ja makron ajettua mutta, se toimii nyt vain yhden sarakkeen osalla. Sen pitäisi ajaa rivi kerrallaan 12 tekstin osalta noin 250 riviä.
        Koitan vielä itse tutkia asiaa mutta kun ei ole mitään kokemusta näistä niin mielellään otan neuvoja vastaan vielä.
        Eli tiedot L3-W3 pitäisi käsitellä L246-W246 asti. Näistä kun saisi kerättyä ne tiedot...

        kiitoksia vastauksista


      • Avun tarpeessa kirjoitti:

        Kiitoksia avusta.

        Ei kyllä vielä toimi ihan täysin. Olen amatööri näitten VBA koodien kanssa, sain kyllä ajettua sen moduuliin ja makron ajettua mutta, se toimii nyt vain yhden sarakkeen osalla. Sen pitäisi ajaa rivi kerrallaan 12 tekstin osalta noin 250 riviä.
        Koitan vielä itse tutkia asiaa mutta kun ei ole mitään kokemusta näistä niin mielellään otan neuvoja vastaan vielä.
        Eli tiedot L3-W3 pitäisi käsitellä L246-W246 asti. Näistä kun saisi kerättyä ne tiedot...

        kiitoksia vastauksista

        ohjeissa mainitsin
        oletuksena, että sarakkeessa A on tietoa...

        no fiksasin sen sarakkeelle L

        Sub PoistaTuplatRiviltä()
        Dim Solu As Range
        Dim Alue As Range
        On Error Resume Next

        Range("L3").Select
        Do Until ActiveCell = ""
        Set Alue = Range(ActiveCell, ActiveCell.Offset(0, 244).End(xlToLeft))
        For Each Solu In Alue
        If WorksheetFunction.CountIf(Alue, Solu) > 1 Then
        Solu.Clear
        End If
        Next Solu
        Alue.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
        ActiveCell.Offset(1, 0).Select
        Loop
        End Sub


      • Apua jo saanut
        kunde kirjoitti:

        ohjeissa mainitsin
        oletuksena, että sarakkeessa A on tietoa...

        no fiksasin sen sarakkeelle L

        Sub PoistaTuplatRiviltä()
        Dim Solu As Range
        Dim Alue As Range
        On Error Resume Next

        Range("L3").Select
        Do Until ActiveCell = ""
        Set Alue = Range(ActiveCell, ActiveCell.Offset(0, 244).End(xlToLeft))
        For Each Solu In Alue
        If WorksheetFunction.CountIf(Alue, Solu) > 1 Then
        Solu.Clear
        End If
        Next Solu
        Alue.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
        ActiveCell.Offset(1, 0).Select
        Loop
        End Sub

        Loistavaa!

        Ehdin kyllä vaihtamaan sen jo L3:seen mutta ei vaan lähtenyt jostain syystä toimimaan.
        Nyt toimii ja hienosti.
        Kiitoksia säästit multa kyllä vähintään tuhannen ärräpäätä.
        Hienoa kun jaksoit auttaa ja vastailla!!!


      • Apua jo saanut kirjoitti:

        Loistavaa!

        Ehdin kyllä vaihtamaan sen jo L3:seen mutta ei vaan lähtenyt jostain syystä toimimaan.
        Nyt toimii ja hienosti.
        Kiitoksia säästit multa kyllä vähintään tuhannen ärräpäätä.
        Hienoa kun jaksoit auttaa ja vastailla!!!

        piti siinä fiksata toinenkin rivi...
        sarake A
        Set Alue = Range(ActiveCell, ActiveCell.Offset(0, 255).End(xlToLeft))

        sarake L
        Set Alue = Range(ActiveCell, ActiveCell.Offset(0, 244).End(xlToLeft))


      • Kiitoksia
        kunde kirjoitti:

        piti siinä fiksata toinenkin rivi...
        sarake A
        Set Alue = Range(ActiveCell, ActiveCell.Offset(0, 255).End(xlToLeft))

        sarake L
        Set Alue = Range(ActiveCell, ActiveCell.Offset(0, 244).End(xlToLeft))

        Kiitos vaan vielä kerran.
        Käsipelin tossa on menny ennen muutama päivä, nyt kun saatiin tiedot exceliin ja vielä tollanen makro niin johan nopeutus hommat.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. 6 kW saunan lämmityksestä kohta 10 euron lisämaksu / kerta

      Kokoomuslainen sähköyhtiöiden hallitsema Energiavirasto ehdottaa 5 kW:n rajaa, jonka ylittämisestä tulee lisämaksu. Tark
      Maailman menoa
      204
      6498
    2. Minja jytkyttää vas.liiton kannatusta ylöspäin

      Alkaa raavaat duunarimiehetkin palaamaan vasemmistoliiton kannattajiksi. Eduskunnassahan on vain kaksi työntekijöiden p
      Maailman menoa
      268
      4417
    3. "Mitä sä nainen tuot sitten pöytään" ?

      Jos mies provaidaa ja suojelee... Pitääkö miesten kysyä tuollaisia?
      Ikävä
      142
      3575
    4. Duunarit hylkäsivät vasemmistoliiton, siitä tuli feministinaisten puolue

      Pääluottamusmies Jari Myllykoski liittyi vasemmistoliittoon, koska se oli duunarien puolue. Sitä samaa puoluetta ei enää
      Maailman menoa
      110
      3393
    5. Ekologinen kommunismi tulee voittamaan fossiilikapitalismin

      Kiina on mahtitekijä uusiutuvien energialähteiden kehityksessä, ja Trump osoitus viimeisestä öljyn perään itkemisestä, m
      Maailman menoa
      57
      3382
    6. Mies, kerro minulle vielä jotakin aivan uniikkia

      ja ainutlaatuista minkä vain me kaksi voisimme ymmärtää jos olemme sen kokeneet ja eläneet, jotta ihan varmasti tietäisi
      Tunteet
      49
      2866
    7. Hyviäkin uutisia tulossa, hallinto-oikeus asettaa toimeenpanokieltoon

      Hyvinvointitalon työmaa pysähtyy. Rillankivi+energia ja vesi kytkyrahanpesu stoppaa. Tytäryhtiöiden hallitusjäsenet+kon
      Pyhäjärvi
      244
      2462
    8. Oikeistopuolueiden kannatus vain 37,8 %, vasemmiston 43,0 %

      Keskustaan jää 17,4 prosenttia ja loput ovat sitten mitä ovat. Mutta selvästikin Suomen kansa on vasemmalle kallellaan.
      Maailman menoa
      75
      2427
    9. Tiedän ettei

      Meistä mitään tule. Toinen oli sinulle tärkeämpi
      Ikävä
      25
      2356
    10. Gallup: Mikä on ollut mielestäsi paras tv-sarja ikinä?

      Gallup: Mikä on ollut mielestäsi paras tv-sarja ikinä? Onko se joku suomalainen viihdepläjäys, brittirikossarja, amerikk
      Tv-sarjat
      101
      1941
    Aihe