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

211

    Vastaukset 7

    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. Herkkyydestä

      Toisessa ketjussa toivottiin keskustelua herkkyydestä. Aloitan omalla näkemykselläni. Mielestäni herkät ihmiset ovat l
      Sinkut
      301
      1075
    2. Arvaako kukaan?

      "Humalojalla metalliromun keräyspaikalla on kulkenut pitkin kevättä ja kesää joku henkilö, joka on vienyt sieltä kymmeni
      Haapavesi
      63
      900
    3. Yli 3 Vuotta sinä jaksoit

      ja yrititit ottaa selvää minusta. Aika hämmästyttävää. Naiselle.
      Ikävä
      77
      888
    4. Mikä minussa sitten

      Kiihottaa enemmän kuin muissa?
      Ikävä
      71
      775
    5. Okei, eli olet rakastunut

      Hyvä sinä, niin minäkin.
      Ikävä
      67
      711
    6. Tuntuu pahalta meidän molempien puolesta

      Anteeksi, että olen tällainen pelkuri. En vaan usko rakkauteen enää miehen ja naisen välillä omalla kohdalla. Tiedän, et
      Ikävä
      40
      695
    7. Olen kiinnostunut sinusta, en seksistä

      Vihjailuja toiseen suuntaan on tullut niin paljon, että asia on korjattava. En näe sinua esineenä, vaan hienona persoona
      Ikävä
      34
      607
    8. Onko meillä

      Kaikki hyvin? 🤨 Miehelle
      Ikävä
      44
      607
    9. Mies.. rehellisesti

      Mitä haluat nyt sun elämään?
      Ikävä
      51
      559
    10. Taidan lähettää kaveripyynnön

      Sulle nainen. Otan vaan rohkaisuryypyn ensin.
      Ikävä
      42
      541
    Aihe