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
144
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
Kalajoen hukkuneet pojat olivat tummaihoisia
Jälleen kerran, hukkuneet tai heikon uimataidon vuoksi vaaraan joutuneet olivat muita kuin suomalaisia. Turha viisastell3206953Kysymys muille miehille
Onko teille varattu nainen ongelma? Mikään muu naisessa ei töki kun se että hän on varattu. Kamppailen houkutuksen kanss694096- 2083135
Kohta katson sun kuvaasi
ja päästän ajatukseni liitämään. Jo kuvasi näkeminen rauhoittaa, ja pistää hyrräämään vähän muutakin. Ihanan kaunista sa242887- 741942
- 1481739
Ahneus iski Fazeriin, suklaalevy kutistuu 180 grammaan
Kun mikään ei riitä. Shrinkflaatio. Mitä isot (Marabou) edellä, sitä pienet (Fazer) perässä. Pienikin voi siis olla a2101722Jos kaivattusi on perääntynyt lähestyessäsi
jossain tilanteessa, ymmärrätkö miksi hän saattoi tehdä sen?1651550Minkä asian haluaisit muuttaa kaivatussasi?
Mikä kaivattusi luonteessa tai ulkonäössä ärsyttää sua?1201538- 891428