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

150

    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. Suomen kansa haluaa Antti Lindtmanista pääministerin

      Lindtman on miltei tuplasti suositumpi kuin etunimikaimansa Kaikkonen. Näin kertoo porvarimedian teettämä kysely. http
      Maailman menoa
      253
      4567
    2. Vain 21% kannattaa Lindtmania pääministeriksi

      se on selvästi vähemmän kuin puolueen kannatus, mites nyt noin?
      Maailman menoa
      131
      2993
    3. Miten löydän sinut

      Ja saan sanottua kaiken mitä haluan sinulle kertoa? Ja kuinka kuuntelisit minua sen hetken? Kuinka voin ilmaista sen mit
      Ikävä
      41
      2752
    4. Yöllinen autolla kaahari Heinolan seudulla

      Asukkaita häiriköivän nuoren herran autokaahaus keskustelu poistettu, onko jokin hyvävelijärjestelmä käytössä ?
      Heinola
      74
      1740
    5. Vaikea tilanne

      Hieman kolkuttaa omatuntoa, kun on osoittanut kiinnostusta väärää naista kohtaan. En ymmärrä miten toinen on voinut te
      Ikävä
      106
      1574
    6. Jouluksi miettimistä: kuka tai mikä valmistaa rahan?

      Nyt kun on ollut vääntöä rahasta ja eritoten sen vähyydestä, niin olisi syytä uida rahan alkulähteille, eli mistä se syn
      Maailman menoa
      23
      1475
    7. Milloin kaivatullasi

      .. on nimipäivä?
      Ikävä
      55
      1324
    8. Kehtaisitko näyttäytyä

      kaivattusi seurassa?
      Ikävä
      93
      1235
    9. Julkinen sektori on elänyt aivan liian leveästi yli varojensa!

      Viimeisen 15 vuoden aikana julkisen puolen palkat ovat nousseet n. 40%, kun taas yksitysellä sektorilla vain n. 20%. En
      Maailman menoa
      205
      1098
    10. Missä kunnassa kaivattusi asuu

      Kuinka tarkkaa uskalla sanoa?
      Ikävä
      47
      1085
    Aihe