Haluan vaihtaa solujen tietyt merkit toisiin. Esim, jos solussa on abc, niin haluan vaihtaa a-kirjaimet kirjaimeen z, b-kirjaimet kirjaimeen x ja c-kirjaimet kirjaimeen y.
Eli abc näkyisi uudessa solussa muodossa xyz. Löysin KORVAA toiminnon, mutta sillä saa vaihdettua vain yhden merkin kerrallaan.
Merkkien vaihtaminen solussa?
4
133
Vastaukset
- Anonyymi
Melkein tuohon kannattaa oma funktio kirjoittaa.
- Anonyymi
Sub vaihda()
' Vaihtaa valitulla alueella vanhat merkit vastaaviin uusiin.
vanha = Split("a b c", " ")
uusi = Split("x y z", " ")
Dim solu As Range
For Each solu In Selection
For i = 0 To UBound(vanha)
Debug.Print vanha(i) & " " & uusi(i)
solu.Value = WorksheetFunction.Substitute(solu, vanha(i), uusi(i))
Next i
Next
End Sub
- Anonyymi
Jos ei tiedä etukäteen kuinka monta eri korvattavaa merkkiä tarvitaan, niin voidaan käyttää VBA:n ParamArrayta parametrinä. Sitten vaan loopissa käy ne läpi jo vaihtaa alkuperäiseen.
http://www.tushar-mehta.com/publish_train/xl_vba_cases/1005 ParamArray.shtml ilman turhia luuppauksia
Sub Korvaa()
Dim originaalit As Variant
Dim korvaavat As Variant
Dim x As Long
originaalit = Array("A", "B", "C", "a", "b", "c")
korvaavat = Array("X", "Y", "Z", "x", "y", "z")
For x = LBound(originaalit) To UBound(originaalit)
Selection.Replace What:=originaalit(x), Replacement:=korvaavat(x), _
LookAt:=xlPart, MatchCase:=True
Next
End Sub
Keep EXCELing
@Kunde
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Useita puukotettu Tampereella
Mikäs homma tämä nyt taas on? "Useaa henkilöä on puukotettu Tampereen keskustassa kauppakeskus Ratinan lähistöllä." ht1933579Kuka rääkkää eläimiä Puolangalla?
Poliisi ampui toistakymmentä nälkiintynyttä eläintä Puolangalla Tilalta oli ollut karkuteillä lähes viisikymmentä nälkii572237Asiakas iski kaupassa varastelua tehneen kanveesiin.
https://www.iltalehti.fi/kotimaa/a/33a85463-e4d5-45ed-8014-db51fe8079ec Oikein. Näin sitä pitää. Kyllä kaupoissa valtava3762220- 432082
Meneeköhän sulla
oikeasti pinnan alla yhtä huonosti kuin mulla? Tai yhtä huonosti mutta jollain eri tyylillä? Ei olisi pitänyt jättää sua321501Jos ei tiedä mitä toisesta haluaa
Älä missään nimessä anna mitään merkkejä kiinnostuksesta. Ole haluamatta mitään. Täytyy ajatella toistakin. Ei kukaan em931251- 541213
Muutama kysymys ja huomio hindulaisesta kulttuurista.
Vedakirjoituksia pidetään historiallisina teksteinä, ei siis "julistuksena" kuten esimerkiksi Raamattua, vaan kuten koul4601202Jumala puhui minulle
Hän kertoi sinusta asioita, joiden takia jaksan, uskon ja luotan. Hän kuvaili sinua minulle ja pakahduin onnesta kuulles1211063- 591014