Sarakkeiden B,C,D,F sisältö peräkkäin A-sarakkeeseen

Eskeli

Onko olemassa jotain makrokomentoa/funktiota, jolla solujen B:B, C:C, D:D ja F:F sisällöt saisi peräkkäin sarakkeeseen A?

Kysyn siksi, että
Sarakkeessa B minulla on osallistujat soluissa B1:B100
Sarakkeessa C minulla on osallistujat soluissa C1:C150
Sarakkeesssa D minulla on osallistujat soluissa D1:D200

Sarakkeeseen A haluaisin listata kaikki osallistujat sarakkeista B-D peräkkäin, aakkosjärjestykseen ja sen jälkeen poistaa kaksoiskappaleet.

Kopioimalla toki onnistuu, mutta......

7

204

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Pete2012

      VBA:lla. Laita seuraava koodi ThisWorkbook moduuliin. Kannattaa tehdä ensin kopio alkuperäisestä taulukosta, koska tämä koodi siis myös tyhjentää sarakkeet B:D. Kyseinen koodi ajetaan aina avattaessa tämä tiedosto.


      Private Sub Workbook_Open()

      Rivi = 1

      If ActiveSheet.Cells(Rivi, 1) "" Then Exit Sub

      For i = 1 To 100
      ActiveSheet.Cells(Rivi, 1) = ActiveSheet.Cells(i, 2)
      Rivi = Rivi 1
      Next
      For i = 1 To 150
      ActiveSheet.Cells(Rivi, 1) = ActiveSheet.Cells(i, 3)
      Rivi = Rivi 1
      Next
      For i = 1 To 200
      ActiveSheet.Cells(Rivi, 1) = ActiveSheet.Cells(i, 4)
      Rivi = Rivi 1
      Next

      ActiveSheet.Range("B1:D200").ClearContents

      ActiveSheet.Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending

      End Sub

      • Eskeli

        Kiitokset.

        Homma pelittää nyt varsin passelisti.

        Nuo osallistujalistat lisääntyvät jatkossa sarakkeisiin E-n , joten tuota laittamaasi koodia muokkaamalla saan jatkossa poimittua osallistujat niistä sarakkeista joissa osallistujia on.


    • Sub Järjestä()
      Dim alue As Range
      Dim solu As Range
      Dim EiTuplat As New Collection
      Dim i As Integer
      On Error Resume Next
      Range("A:A") = ""
      Set alue = Union(Range("B1", Range("B1").End(xlDown)), Range("C1", Range("C1").End(xlDown)), Range("D1", Range("D1").End(xlDown)))
      For Each solu In alue
      EiTuplat.Add solu.Value, CStr(solu.Value)
      Next
      On Error GoTo 0
      For i = 1 To EiTuplat.Count
      Cells(i, 1) = EiTuplat(i)
      Next
      Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending
      End Sub

      Keep EXCELing
      @Kunde

      • Eskeli

        Tämä ei toiminut ainakaan suoralta kädeltä, liekö vika täällä päässä?

        Poimii sarakkeeseen A vain muutamia osallistujia sarakkeesta C ja järjestää ne aakkosjärjestykseen, tuplat poistaen.

        Pitää tutkia mikä menee vikaan.

        Kiitos avusta kuitenkin!


    • kundepuu

      koodini poistaa tuplat ja aakkostaa sarakkeissa B,C ja D olevat nimet. Ei väliä kuinka monta nimeä alueella eli dynaaminen alue

      • Eskeli taas

        Jep..

        Ongelmaksi muodostui se, että noissa B, C ja D sarakkeissa oli tyhjiä soluja. Koodi poimi osallistujat ensimmäiseen tyhjään soluun asti ja siitä syystä tuo A sarake jäi vajaavaiseksi.

        Korjasin ongelman järjestämällä B, C ja D sarakkeiden sisällöt aakkosjärjestykseen ja nyt homma toimii!

        Kiitos avusta!


    • kundepuu

      tossa versio jos tyhjiä välissä...

      Sub Järjestä()
      Dim alue As Range
      Dim solu As Range
      Dim EiTuplat As New Collection
      Dim i As Integer
      On Error Resume Next
      Range("A:A") = ""
      Set alue = Union(Range("B1", Range("B65536").End(xlUp)), Range("C1", Range("C65536").End(xlUp)), Range("D1", Range("D65536").End(xlUp)))
      For Each solu In alue
      EiTuplat.Add solu.Value, CStr(solu.Value)
      Next
      On Error GoTo 0
      For i = 1 To EiTuplat.Count
      Cells(i, 1) = EiTuplat(i)
      Next
      Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending
      End Sub


      Leep EXCELing
      @Kunde

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

    Luetuimmat keskustelut

    1. Orpo räyhää: kansan on muututtava

      Orpon mukaan kansa ei elä kokoomuksen kanssa samassa todellisuudessa, ja sen vuoksi kansan on muututtava. Kas kun ei san
      Maailman menoa
      272
      3392
    2. Muovikassikartelli

      Kauppaketjut ovat yhdessä sopineet muovikassin yksikköhinnaksi 59 senttiä. Milloin viranomaiset puuttuvat tähän kartell
      Talousrikokset
      21
      1873
    3. Aidon persun tunnistaa Marinin palvonnasta

      Oli kyse sitten Halla-ahosta tai Putinista. Ensimmäisenä aidolle persulle tulee mieleen Marin.
      Maailman menoa
      28
      1537
    4. Mikä tekee sen

      Vetovoiman kaivatussasi?
      Ikävä
      84
      1421
    5. Harmittaako joku

      Harmittaako joku asia tai asiat, mitä on tapahtunut tai jäänyt tapahtumatta?
      Ikävä
      137
      1058
    6. Miksi et vain uskalla!?

      On niin ikävä...
      Ikävä
      81
      1014
    7. Hallintooikeus..

      "Asemakaavapäätös pysyy voimassa.Poikkeamista ja rakentamista koskevat luvat hylättiin" kertoo Pyhäjärven Sanomat netti.
      Pyhäjärvi
      66
      916
    8. Olen rakastunut

      varattuun joka ei eroa. Miten tunteista eroon? Tämä ei ole tavanomaista. On elämäni suuri rakkaus.
      Ikävä
      86
      796
    9. Jos se joskus oli molemminpuolista

      niin hyvin me molemmat onnistuttiin pitämään toinen epätietoisena.
      Ikävä
      61
      707
    10. Laita nyt se viesti

      Tiedän että haluat tavata. Kirjoitat, pyyhit, kirjoitat... Lähetä se viesti 😗
      Ikävä
      51
      696
    Aihe