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......
Sarakkeiden B,C,D,F sisältö peräkkäin A-sarakkeeseen
7
187
Vastaukset
- 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
Työeläkkeet ovat pois työntekijän palkasta
Jokainen työeläkkeen nimissä maksettu euro on otettu pois työtä tekevältä palkansaajalta. Mitä korkeampi työeläketaso o1191623Etkö sä muru mussakaiseni ymmärrä
Että me päästään lähenemään vain kaveruuden kautta? Vain siten mä voin lähettää sulle kuvia ja viestejä 😌 Tänäänkin o361282- 771278
- 511069
Martina Aitolehdeltä kova tilitys podcastilla: "Kyllä mä turpaan vetäisin"!
Martina Aitolehti tilittää brutaalin rehellisesti Eskolle podcastilla syitä, miksi hän ei ole lähtenyt mukaan julkkisten207827- 61812
Siinäpä jäät
Punapää kaipaamaan, kun päätän maallisen vaellukseni. Oma oli valintasi. Sillä minä en jaksa enää kovin pitkää tätä. Ole78762- 29734
Sosiaalinen lainalaisuus.
Tulipa mieleen tässä useammasta aloituksesta ja kirjoituksesta, että minusta ihmisilläkin (laumaeläimilläkin) on luonnol141699Hei, huomenta
Joskus tarvitaan kipua, että löytää itsestään voimaa ja vahvuutta! Aurinkoista päivää ja muutenkin mukavaa lauantaita ❤️65630