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. Ny se loppuu ( Kuhmo)

      Yhtiö on myyty. Notta yyteet meleko äkkiä, notta. Pelastautukoon ken voi. Notta se on tuulista pian.
      Kuhmo
      92
      2849
    2. Parikymppinen hakkasi nelikymppisen kriittiseen tilaan

      Ja ihminen jäi junan alle lautiosaaressa...paljon on taas sattunut ja tapahtunut. Ketähän nämä uhrit mahtaa olla 🤔 htt
      Kemi
      44
      2353
    3. Kaivattusi tärkein ulkoinen tuntomerkki

      Onko jokin muu kuin yleinen kuten kaunis, laiha. hyväkroppainen jne.
      Ikävä
      39
      1133
    4. Mille kirjaimelle

      toivotat hyvää yötä , kuka on mielessäsi kun menet nukkumaan?
      Ikävä
      36
      991
    5. Äimän käki

      Olen vähää vaille viisikymppinen mies, ja olen elellyt ilman parisuhdetta parisen vuotta. Nyt vihdoin ja viimein tuntuu,
      Sinkut
      153
      859
    6. Paikallinen autokorjaamo

      Kyllä alkaa vituttamaan, palvelua haluaisi niin jono ovelle ja yksi myyjä. Auto valmistunut kuntoon niin kukaan ei ilmoi
      Kuhmo
      9
      703
    7. Nainen, miten suhtautuisit

      Jos mies ehdottaisi tapaamista? Entä siihen, jos mies kertoisi tapaamisessa tunteistaan ja haluaisi seurustella?
      Ikävä
      58
      700
    8. 2 km on nykyään liian pitkä koulumatka

      Hesarissa päivitellään lapset joutuu nyt kulkemaan 2 km kouluun jösses. Ruostefillarilla tuo matka menee vaikka miten äk
      Lieksa
      48
      628
    9. Mitä tuot pöytään parisuhteessa?

      Siinäpä se kysymys on otsikossa. Mitäpä siis tuot/toisit pöytään parisuhteessa? Oletko mies vai nainen? Koetko sen mitä
      Sinkut
      152
      597
    10. Sinulle mies

      Kohtaamme jälleen kun on oikea aika. Sitä ei voi mikään eikä kukaan estää <3 <3
      Ikävä
      36
      581
    Aihe