Hei.
Tässä todella visainen kysymys, johon en ole löytänyt vastausta. Voiko Wordissä korvata useita eri sanoja samanaikaisesti yhdellä sanalla, eli jos haluaisin korvata sanat;" ehkä, musta, mutta" sanalla: "kyllä" niin miten saisin etsi toiminnon lukemaan nuo sanat eri sanoiksi. Onko mitään merkkiä jonka voisin laittaa sanojen väliin.
Usean eri sanan korvaaminen
8
753
Vastaukset
- yksinkertaisesti
Kyllähän tuon homman tekee helpommin korvaamalla kunkin sanan erikseen.
Eli tekee kolme kierrosta, eka kierroksella korvaa sanan 'ehkä' sanalla 'kyllä', toisella sanan 'musta' sanalla 'kyllä', jne.
Siinä ajassa kun aloittaja miettii ongelmaansa olisi sen jo ratkaissut tuolla yksinkertaisella tavalla. - Turbo-Urpo1
Minä en tiedä voiko Wordissä korvata useita eri sanoja samanaikaisesti yhdellä sanalla, mutta jos olisit kysynyt; Voiko LibreOffice 6.0 Writerissa korvata useita eri sanoja samanaikaisesti yhdellä sanalla, olisin sanonut että: Voi
https://s25.postimg.cc/6c8rv74tb/Etsi_Ja_Korvaa.gif
Tuossa esimerkissä korvataan ä,ö,y kirjaimet risuaitamerkillä (#), mutta nuo korvattavat olisi voineet olla sanojakin.- Turbo-Urpo1
Laitakkin se haku näin:
\<(ehkä|musta|mutta)\>
eikä näin, kuten animaatiossani näytin:
ehkä|musta|mutta
jos tee niin kuin animaatiossa ( ehkä|musta|mutta ), haku ehto toteutuu kun esiintymä on pitemmän sanan sisällä näin:
[tehkää] sanasta tulee [tkyllää]
[rummuttaja] sanasta tulee [rumkylläja]
- Kundepuu
Makrolla homma hoituu helposti
avaa lomakkeen, johon syötetään muutettavat sanat pilkulla eroteltuma. Koodissa voi vaihtaa erottimen ja muitakin ehtoja mm. muotoilut ja vastineet
Sub Korvaa()
Dim a
x = InputBox("Anna etsittävät sanat pilkulla eroitettuna")
a = Split(x, ",")
For i = 0 To UBound(a)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = a(i)
' tähän korvattava sana, muuta muotoilut yms asetukstsopivaksi
.Replacement.Text = "Kyllä"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next
End Sub
Keep WORDing
@Kunde - Robot
Hei kaikki ja kiitos vastauksista. Kyse ei ikävä kyllä ole parista sanasta, vaan oikeasti yli tuhannesta eri nimestä 10.000 sivun niitteessä, jotka kaikki minun tulisi korvata sanalla "Matti Meikäläinen" . Nimet on excel tiedostona ja saisin ne helposti muutettua kaavan avulla merkkijonoksi, joten ajattelin että voisiko olla helpompi keino kuin korvata yksi nimi kerrallaan eli jos olisi olemassa joku välimerkki tms. ja sen avulla voisin muutta useita eri nimiä Matti Meikäläiseksi.
- Kundepuu
toi mun koodihan tekee just noin niinkuin kerrot.
Korvaat x:n vain merkkijonolla ja tarvittaessa vaihdat erottimen
x = InputBox("Anna etsittävät sanat pilkulla eroitettuna") korvaat sillä merkkijonolla
a = Split(x, ",")
muutat
X=" Liisa, Matti, Kalle ,Pekka" jne -eli se lista sieltä Excelistä
a = Split(x, ",") tässä vaihdat erottimen, nyt pilkku ","
Keep WORDing
@Kunde"- Robot
Kiitos Kundepuu, olet mahtava!
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1808336
En löydä sinua
En löydä sinua täältä, etkä sinä varmaankaan minua. Ennen kirjoitin selkeillä tunnisteilla, nyt jätän ne pois. Varmaan k264528- 504098
- 543482
- 513116
- 502860
Ne oli ne hymyt
Mitä vaihdettiin. Siksi mulla on taas niin järjetön ikävä. Jos haluat musta eroon päästä niin älä huomioi mua. Muuten kä262556- 312159
Anteeksi kun käyttäydyn
niin ristiriitaisesti. Mä en usko että haluaisit minusta mitään, hyvässä tapauksessa olet unohtanut minut. Ja silti toiv382013- 292006