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
195
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
Petteri Orpo on satusetä
Väittää että työllisyys on Suomessa samalla tasolla kuin hallituksen aloittaessa kesällä 2023. Fakta on, että työllisi933564Orpo ja Purra, käykää hakemassa oppia Espanjasta
Espanja on näyttänyt kuinka kova työttömyys nujerretaan ja saadaan maan talous palautettua nousu-uralle. Ei ole häpeä kä562536Porvarimedia: Räsänen vei Lindtmanilta pääministerin paikan
Lisäksi suomalaiset ovat innostuneet tuhlaaman, koska kuluttavat inflaation verran enemmän rahaa. Eikö porvarimedialla162454Jääkiekon MM:t pitää siirtää MTV:ltä Ylelle
Persuille ikäviä uutisia taas. . Valtioneuvoston asetuksen mukaan MM-kisat kuuluvat kansallisesti merkittäviin tapahtumi712311Ruotsi laskee jälleen bensaveroa, Riikka irvailee tumput suorana
Euron bensa oli persujen vaalilupaus, mutta kohta alkaa olla kolmosella alkavia litrahintoja. Meanwhile in Sverige: "182199Olitkin liian hyvää ollaksesi totta nainen
Ihastuin ja rakastuin, mutta se on minun ongelma. Ei sinun.1021252Kaste pelastaa ihmisen
Kristittyjen kirkkojen toimittama yksi Kaste on Jumalan tekemä pelastusteko, jossa perisyntiin hengellisesti kuollut ihm5731118Uskon todistus
Oikean uskovaisen ja nimikristityn erottaa siitä, että Jeesukseen uskova korottaa Jeesusta ja uskoa Häneen, mutta nimik2611016Ensin oli armo - sen jälkeen tuli usko
Me emme ansaitse armoa omalla uskollamme. Armo on ansaitsematonta rakkautta mikä synnyttää meidät uudesti Jumalasta. K4001015Elisalla ja MTV:llä lihava riita - MTV:n kanavienlähetykset ovat katkeamassa Elisan asiakkailla
Kaikkien MTV:n kanavien televisiolähetykset ovat katkeamassa Elisan kaapeli-tv-asiakkailta. https://www.is.fi/digitoday142989