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
163
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
Saisinpa halata sinua joka päivä
ja kertoa miten paljon sinusta välitän. Vaikka olisi jommalla kummalla huono päivä, väsynyt päivä tai kiireinen päivä, a708216Me työeläkeläiset äänestämme SDP:tä
SDP on luonut koko työeläkejärjestelmän, jonka hedelmistä saamme nyt nauttia. Kansaneläkelaitos on Maalaisliiton tekele,1234730Kolmen tuiki tavallisen demariahdistelijan nimet julki
Nyt tiedetään ketkä kolme oli niissä niin tavanomaisissa demarin jokapäiväisissä askareissa avustajia ahdistelemassa. K1123876Eikö tunnukin kamalalta, kun en
anna periksi vaikka parhaasi olet tehnyt antaaksesi täystyrmäyksen? Ja kyllähän minä monta iskua olen saanut ja maannut773407Sannahan laski sähkön ALV:n 10 prosenttiin, Riikka runnoi 25,5 %:iin
Tässäkin nähdään kumpi on Suomen kansan puolella, ja kumpi omaa vastaan. Putinistipersuille Suomen kansa tulee aina vii742996Kansalaispalkka ja maksuton joukkoliikenne
Noilla pienillä parannuksilla saadaan Suomesta taas hitusen parempi paikka peruskansalaiselle, joka elää ekologisesti ja1342700SDP:n selitykset ontuu pahasti - "On käsitelty heti, mutta kukaan ei tiedä"
Kokoomuslaiset pistää taas demareita nippuun. Tuppuraisen mukaan mukaan SDP:n useat ahdistelutapaukset on käsitelty het392157Antti Lindtman: "Ainahan kaikenlaisia huhuja liikkuu"
Näin hän siis vastaa SDP:n häirintäkohuun, väistelee vastuutaan Juttuhan on niin, että Lindtman ja Tuppurainen on tasan631973Muistattekos kun kaupassa piti pyytää tavarat myyjältä
Edes kahvipakettia ei saanut itse valita, vaan myyjä nouti sen hyllystä tiskille. Jos osti jauhelihaa, niin se jauhettii2641949Kenen juontajan pitäisi voittaa tänään Kultainen Venla? Ehdolla Pimiä, Holma ja Vaaherkumpu
Kultainen Venla gaalassa jaetaan tänään tv-alan palkintoja. Yksi suosituimmista kategorioista on Juontaja. Vappu Pimiä561948