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

136

    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. Mieleni harhailee sinussa

      Uskon että tykkäät minusta. On vain yksi elämä. Silti jään paikoilleni ja odotan että jokin muuttuu. Menin palasiksi, ei
      Tunteet
      9
      1732
    2. Toivotko, että

      hän tulisi juttelemaan sinulle, vai lähestytkö mieluummin itse?
      Ikävä
      89
      1175
    3. Jännitän sinua J mies

      Ei tästä tulee mitään. Tuskin kaikki olis mennyt näin moneen solmuun, jos olis tarkoitettu meidät yhteen.
      Ikävä
      118
      1166
    4. Kuinka kauan kesti että ihastuit

      Kaivattuusi? Jos lasketaan siitä hetkestä alkaen kun näit hänet ensi kerran. Oliko jokin tilanne tai tapahtuma, joka voi
      Ikävä
      51
      973
    5. Olen käyttäytynyt sinua kohtaan väärin toistuvasti

      Puolustuksekseni täytyy sanoa, että ei ole ollut tahallista vaan seurausta harhaisista luuloista ja ajatuksista. Esimerk
      Ikävä
      63
      874
    6. Orpo suunnittelee palestiinalaislasten Suomeen siirtoa

      "Sairaalahoitoa tarvitsevien lasten ottaminen Suomeen on lisäksi selvityksessä, Orpo sanoo. – Jos meillä on mahdolli
      Maailman menoa
      209
      844
    7. Tunneälyä testaamaan!

      Testi pitää sisällään viisi osa-aluetta. Itse sain täydet tuosta ensimmäisestä eli 25/25. Kokonaispistemäärä oli 100/125
      Lesbot
      3
      756
    8. Vaikutat tosi mielenkiintoiselta ja

      paksulta. 😂 m - n
      Ikävä
      81
      753
    9. solmussa solmussa

      Tilanne solmussa. Umpisommussa🫢
      Ikävä
      35
      699
    10. Saanko mies tulla sun kainaloon nukkumaan?

      En saa unta kun mietin sua❤️ Saako tulla sun viereen ja käpertyä sun kainaloon?
      Ikävä
      42
      653
    Aihe