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
184
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
Suomen kansa haluaa Antti Lindtmanista pääministerin
Lindtman on miltei tuplasti suositumpi kuin etunimikaimansa Kaikkonen. Näin kertoo porvarimedian teettämä kysely. http2454452Vain 21% kannattaa Lindtmania pääministeriksi
se on selvästi vähemmän kuin puolueen kannatus, mites nyt noin?1232899Miten löydän sinut
Ja saan sanottua kaiken mitä haluan sinulle kertoa? Ja kuinka kuuntelisit minua sen hetken? Kuinka voin ilmaista sen mit412652Yöllinen autolla kaahari Heinolan seudulla
Asukkaita häiriköivän nuoren herran autokaahaus keskustelu poistettu, onko jokin hyvävelijärjestelmä käytössä ?811644Vaikea tilanne
Hieman kolkuttaa omatuntoa, kun on osoittanut kiinnostusta väärää naista kohtaan. En ymmärrä miten toinen on voinut te1161528- 501238
- 851164
Julkinen sektori on elänyt aivan liian leveästi yli varojensa!
Viimeisen 15 vuoden aikana julkisen puolen palkat ovat nousseet n. 40%, kun taas yksitysellä sektorilla vain n. 20%. En2031054- 591003
- 45996