Miten toteuttaa?

Mulla ois Taul2 dokumentti josta pitää korvata kaikki Taul1 A -sarakkeen rivit B -sarakkeen riveillä kunnes A -sarakkeessa lopuu täytetyt rivit.

Aloitin jo väkertää:

For a = Range("Taul1!A2:A10").Cells.Count To 1 Step -1
Cells.Replace What:=Range("Taul1!B2:B10").Select, Replacement:=Range("Taul1!C2:C10").Select, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next a

Oisko jollain antaa hyviä vinkkejä?
9143
Äänestä

Muut lukivat myös

Vastaukset 9

Vanhimmat

Tehtävänannossa väärinymmärryksen vaara olemassa, mutta jos ymmärsin oikein niin... kaikessa lyhykäisyydessään ratkaisu voisi olla esim. seuraava:

Sub KopiointiBtoA()
Dim lastrow1 As Long
lastrowA = Cells(Rows.Count, "A").End(xlUp).Row
Range("B1:B" & lastrowA).Select
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

Äänestä
  • Korjataan saman tien typo edelliseen:

    Sub KopiointiBtoA()
    Dim lastrowA As Long
    lastrowA = Cells(Rows.Count, "A").End(xlUp).Row
    Range("B1:B" & lastrowA).Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    End Sub

    Äänestä

Taisin selittää vähän huonosti :D

Eli tarkoitus olis että mulla on toisella välilehdellä dokumentti ja toisessa taulukossa sarakkeessa A etsittävät tekstit siitä dokumentista ja sarake B vastaavasti miten ne sarake A tekstit korvataan.

Eli esim. A1 = moi, A2 = päivää, B1 = moikka, B2 = iltaa
A1 solun siltä korvataa dokumentissa B1 solun sisällöllä

Kiitos Kunde :)

Äänestä
  • Toisella välilehdellä on dokumentti
    Toisessa taulukossa on sarakkeita

    Kysyjällä on lahjakkaasti sekaisin tiedostonimet eli dokumentit, tiedostoissa olevat välilehdet ja välilehdillä olevat sarakkeet ja rivit. Voinemme vain ihmetellä miten ko. yrityksen henkilöstöpäällikkö voi olla ylpeä henkilöstöstään. Kalliit kurssitukset ovat haihtuneet tuhkana ilmaan :(

    Äänestä

  • Anonyymi kirjoitti:

    Toisella välilehdellä on dokumentti
    Toisessa taulukossa on sarakkeita

    Kysyjällä on lahjakkaasti sekaisin tiedostonimet eli dokumentit, tiedostoissa olevat välilehdet ja välilehdillä olevat sarakkeet ja rivit. Voinemme vain ihmetellä miten ko. yrityksen henkilöstöpäällikkö voi olla ylpeä henkilöstöstään. Kalliit kurssitukset ovat haihtuneet tuhkana ilmaan :(

    OK, pahoitteluni, selviätkö nyt tästä kammottavasta virheestä?

    Joo siis toisella välilehdellä on dokumentti ja toisella nämä korvattavat A- ja B- sarakkeet.

    Äänestä

  • Anonyymi kirjoitti:

    OK, pahoitteluni, selviätkö nyt tästä kammottavasta virheestä?

    Joo siis toisella välilehdellä on dokumentti ja toisella nämä korvattavat A- ja B- sarakkeet.

    Sub KorvaaTeksti()
    Dim sht1 As Worksheet
    Dim sht2 As Worksheet
    Dim fnd As Variant
    Dim rplc As Variant
    Dim lastrowA As Long

    Set sht1 = Sheets("Taul1")
    Set sht2 = Sheets("Taul2")

    sht2.Activate
    lastrowA = Cells(Rows.Count, "A").End(xlUp).Row

    For i = 1 To lastrowA
    sht2.Range("A" & i).Select
    fnd = ActiveCell.Text
    rplc = ActiveCell.Offset(0, 1).Text
    sht1.Cells.Replace what:=fnd, Replacement:=rplc, _
    LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
    SearchFormat:=False, ReplaceFormat:=False
    Next i

    sht1.Activate
    End Sub

    Äänestä

  • Anonyymi kirjoitti:

    Sub KorvaaTeksti()
    Dim sht1 As Worksheet
    Dim sht2 As Worksheet
    Dim fnd As Variant
    Dim rplc As Variant
    Dim lastrowA As Long

    Set sht1 = Sheets("Taul1")
    Set sht2 = Sheets("Taul2")

    sht2.Activate
    lastrowA = Cells(Rows.Count, "A").End(xlUp).Row

    For i = 1 To lastrowA
    sht2.Range("A" & i).Select
    fnd = ActiveCell.Text
    rplc = ActiveCell.Offset(0, 1).Text
    sht1.Cells.Replace what:=fnd, Replacement:=rplc, _
    LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
    SearchFormat:=False, ReplaceFormat:=False
    Next i

    sht1.Activate
    End Sub

    Osaaks toi käydä rivin kerrallaan läpi eli a1, a2, a3...

    Äänestä

  • Anonyymi kirjoitti:

    Osaaks toi käydä rivin kerrallaan läpi eli a1, a2, a3...

    Taul2 A-sarakkeessa n kpl vanhoja sanoja (A1, A2, An)
    Taul2 B-sarakkeessa n kpl uusia sanoja (B1, B2, Bn)

    Tsydeemi kahlaa kaikki Taul2-sarakkeet A ja B rivi kerrallaan läpi ja tekee niiden mukaiset tekstien korvaukset (vanha sana korvataan uudella) Taul1 -välilehden kaikkiin soluihin.

    Äänestä

  • Anonyymi kirjoitti:

    Taul2 A-sarakkeessa n kpl vanhoja sanoja (A1, A2, An)
    Taul2 B-sarakkeessa n kpl uusia sanoja (B1, B2, Bn)

    Tsydeemi kahlaa kaikki Taul2-sarakkeet A ja B rivi kerrallaan läpi ja tekee niiden mukaiset tekstien korvaukset (vanha sana korvataan uudella) Taul1 -välilehden kaikkiin soluihin.

    Kiitän kovasti :)

    Äänestä

Kommentoi aloitusta


Anonyymi kirjoitti:

Mulla ois Taul2 dokumentti josta pitää korvata kaikki Taul1 A -sarakkeen rivit B -sarakkeen riveillä kunnes A -sarakkeessa lopuu täytetyt rivit.

Aloitin jo väkertää:

For a = Range("Taul1!A2:A10").Cells.Count To 1 Step -1
Cells.Replace What:=Range("Taul1!B2:B10").Select, Replacement:=Range("Taul1!C2:C10").Select, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next a

Oisko jollain antaa hyviä vinkkejä?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu