Miten saadaan sortattua tietty tekstitieto 1 - 500 rivin joukosta ja siirrettyä se samalle riville sarakkeeseen B(B1 - B500). ComboBox1 tieto siirretään A sarakkeen seuraavaan vapaaseen soluun Command 1-näppäimellä. Command 2-näppäimellä tehdään sorttaus ja siirto B sarakkeeseen vastaavalle riville.
CommandButton1_Click() For Each Solu In Sheets("0").Range("A1:A500") If Solu.Text = "" Then Solu.Value = ComboBox1 ComboBox1 = "" Exit For End If
Selostus saattaa olla epämääräinen, mutta toivottavasti joku ymmärtää mitä haen.
Mod. lisäsi kooditagit!
En ymmärrä. Mitä tarkoittaa ”saadaan sortattua tietty tekstitieto 1 - 500 rivin joukosta”? Mille ”samalle riville” se siirretään?
Jos haluat B-sarakkeeseen A-sarakkeen tiedot järjestyksessä, kannattanee ensin kopioida tiedot sellaisenaan ja sitten käyttää Sort-metodia.
Ymmärsin että jos A:A sarake sisältää comboboxista valitun arvon, arvo siirretään B:B sarakkeen vastaavalle riville miltä arvo löytyi.
Aloitetaanpa uudestaan, selostus oli kyllä aika epämääräinen.
Command1 näppäimellä siirretään ComboBox1 tekstitieto A-sarakkeen seuraavaan vapaaseen soluun.
Rivejä kertyy 1 - 500 (A1 - A500)
Klikattaessa Command2 näppäintä:
ComboBox1 sisältämä tekstitietoa verrataan A1 - A500 tietoihin. Jos vastaava tekstitieto löytyy niin sen jälkeen ComboBox1 tekstitieto kopioidaan B-sarakkeeseen samalle riville.
esim. A49 ---> B49
CommandButton1_Click() For Each Solu In Sheets("0").Range("A1:A500") If Solu.Text = "" Then Solu.Value = ComboBox1 ComboBox1 = "" Exit For End If End Sub CommandButton2_Click() If ComboBox1=Sheets("0").Range("A1:A500") Then Sheet("0").Range("B????)=ComboBox1 Exit Sub End If End Sub
Toivottavasti tämä selvensi asiaa
Mod. lisäsi kooditagit!
No niin, eli yhtään mitään ei ollut tarkoitus sortata.
Tietenkään et voi verrata laatikon arvoa koko sarakkeeseen samalla kertaa, kuten edellä esität.
Käy silmukalla läpi A-sarake (kuten kohdassa 1), ja jos Solu.Text = ComboBox1, laita teksti vastaavaan kohtaan B-sarakkeeseen.
Mistä arvot ilmestyvät comboboxiin? onko se sidottu A:A soluihin? Vai onko kenties tarkoitus aina kirjoittaa arvo, jolloin sen voisi korvata suoraan tekstilaatikolla?
Comboboxin arvot on sidottu A:A soluihin. Comboboxin sisältöä verrataan A:A soluihin ja sen jälkeen ComboBoxin sisältö kopioidaan vastaavalle riville B:B soluun
Aihe on jo aika vanha, joten et voi enää vastata siihen.