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
209
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
Silmienvääntelijä-persut pääsivät Japanissa sarjakuvaan
Torille! https://www.hs.fi/kulttuuri/art-2000011943173.html1875075Nato kaatamassa Petterin haaveileman Tunnin junan?
Nato edellyttää pohjoisessa Jäämereltä Rovaniemelle saakka kapearaitesta suoraa rautatieväylää, joka maksaa paperirahaa,254472Donald Trump pääsi samalle listalle Sanna Marinin kanssa
Eli vasemmistolaisen Time-median top 100 jännäihmisten listalle. https://time.com/collections/time100-next-2021/593769993137Älkää vaan sairastuko syöpään Suomessa
Tilaston mukaan Suomi, Slovakia ja Latvia lääkitsee aivan pohjamudissa syöpää. Sairastunutta hoidetaan edelleen vanhana2593039Kyllä, maata ei halua puolustaa nimenomaan punavihreän puolen edustajat
"Esimerkiksi maanpuolustushenki on keskimääräistä alempana naisten, arvoliberaalien, heikossa taloustilanteessa olevien1442934- 522531
- 271939
- 561873
- 771814
- 221787