Helpmij.nl
Helpmij.nl
Helpmij.nl

Quote

Weergeven resultaten 1 tot 15 van 15

Onderwerp: Excel regelmatig 20 woorden vervangen

  1. #1
    Mega Senior damnsharp's avatar
    Geregistreerd
    6 januari 2012
    Locatie
    Oss
    Vraag is niet opgelost

    Excel regelmatig 20 woorden vervangen

    Hoi,
    Ik krijg een Excel document waar ik geregeld een lijstje van rond de 20 woorden moet zoeken en vervangen door 20 andere woorden.
    Bijvoorbeeld:
    black -> zwart
    blue -> blauw
    green -> groen
    black/green -> zwart/groen
    etc.

    Dat doe ik nu met zoek/vervang (20 keer).
    Is daar een geautomatiseerd script van te maken dat ik bij een nieuw Excel document ook weer kan gebruiken?

    Bedankt voor meedenken!

  2. #2
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Maak een tabelletje met die 20 woorden en de vertaling er naast.
    Dan kan je dat met een simpel scriptje doen.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  3. #3
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Tuurlijk kan dat; probeer het eerst eens zelf door een macro op te nemen en te kijken wat er gebeurt. 99% kans dat je code die in de macro wordt gemaakt zelf kunt aanpassen voor de overige 19 woorden. Zo niet: plaats dan een voorbeeld bestandje, dan kunnen we je wat beter helpen.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  4. #4
    Mega Senior damnsharp's avatar
    Geregistreerd
    6 januari 2012
    Locatie
    Oss
    Bedankt @edmoor en @OctaFish voor meedenken.

    Heb na meer zoeken een script en methode gevonden, dat werkt goed. Alleen moet ik eerst dat zoek/vervang tabelletje dan maken.
    Dus ga de macro benadering tip van @OctaFish proberen.

  5. #5
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Als het altijd dezelfde woorden (en hetzelfde aantal) zijn, dan zou ik daar geen tabel bij gebruiken, maar alles in de macro doen. Een tabel moet namelijk wél ergens staan.... En kan dus ook zichtbaar zijn, en door verkeerde handelingen worden vernaggeld. Als je de 20 woorden in een variabele zet, en de 20 vertalingen ook, is het net zo makkelijk en veel veiliger om te doen. Maar dat is mijn bescheiden opvatting
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  6. #6
    Mega Senior damnsharp's avatar
    Geregistreerd
    6 januari 2012
    Locatie
    Oss
    @OctaFish, heb het inderdaad met macro gedaan. Variabelen in een macro lukt me niet dus het zijn nu 10x dezelfde regels onder elkaar ;-) Maar het werkt!

    Ah je hebt al macro gemaakt voor me! Nou dat is aardig... dan is het helemaal opgelost. Super!!

  7. #7
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    En omdat we altijd graag helpen, hier alvast een macrootje waarmee je de eerste 4 woorden simpel vertaalt
    Code:
    Sub Vertalen()
    Dim Eng As Variant, Nld As Variant
    
        Nld = Array("zwart/groen", "blauw", "groen", "rood", "zwart")
        Eng = Array("black/green", "blue", "green", "red", "black")
        With Application
            .EnableEvents = False
            .ScreenUpdating = False
            .Calculation = xlCalculationManual
        End With
        For i = LBound(Eng) To UBound(Eng)
            Cells.Replace What:=Eng(i), Replacement:=Nld(i), LookAt:=xlPart, MatchCase:=False
        Next i
        With Application
            .EnableEvents = True
            .ScreenUpdating = True
            .Calculation = xlCalculationAutomatic
        End With
    
    End Sub
    Lijkt mij dat je de rest van de tekst er wel bij kan kloppen.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  8. #8
    Mega Senior damnsharp's avatar
    Geregistreerd
    6 januari 2012
    Locatie
    Oss
    Nog 2 vragen:

    1)
    Kan de Nld en Eng woorden uit de array ook onder elkaar want wordt lange regel nu.
    Ik probeerde dit maar krijg meteen melding:
    Code:
    Nld = Array(
    "zwart/groen",
    "blauw", 
    "groen", 
    "rood", 
    "zwart")
    2)
    Kan ik ook alleen verticaal alles vervangen i.p.v. hele worksheet? Dat zou nóg fijner zijn.
    Laatst aangepast door damnsharp : 7 april 2021 om 16:41 Reden: extra vraag toegevoegd

  9. #9
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Iets ander gebruik van Array en met antwoord op je 2e vraag, in dit geval verticaal kolom A.
    Je hoeft alleen nog maar de rest van de woorden in te vullen.
    Code:
    Sub VervangENdoorNL()
        Dim Talen(1 To 20, 1) As String
        'Nederlands                     Engels
        Talen(1, 0) = "zwart/groen":    Talen(1, 1) = "black/green"
        Talen(2, 0) = "blauw":          Talen(2, 1) = "blue"
        Talen(3, 0) = "groen":          Talen(3, 1) = "green"
        Talen(4, 0) = "rood":           Talen(4, 1) = "red"
        Talen(5, 0) = "zwart":          Talen(5, 1) = "black"
        Talen(6, 0) = "wit":            Talen(6, 1) = "white"
        Talen(7, 0) = "":               Talen(7, 1) = ""
        Talen(8, 0) = "":               Talen(8, 1) = ""
        Talen(9, 0) = "":               Talen(9, 1) = ""
        Talen(10, 0) = "":              Talen(10, 1) = ""
        Talen(11, 0) = "":              Talen(11, 1) = ""
        Talen(12, 0) = "":              Talen(12, 1) = ""
        Talen(13, 0) = "":              Talen(13, 1) = ""
        Talen(14, 0) = "":              Talen(14, 1) = ""
        Talen(15, 0) = "":              Talen(15, 1) = ""
        Talen(16, 0) = "":              Talen(16, 1) = ""
        Talen(17, 0) = "":              Talen(17, 1) = ""
        Talen(18, 0) = "":              Talen(18, 1) = ""
        Talen(19, 0) = "":              Talen(19, 1) = ""
        Talen(20, 0) = "":              Talen(20, 1) = ""
        
        With Application
            .EnableEvents = False
            .ScreenUpdating = False
            .Calculation = xlCalculationManual
        End With
    
        For i = 1 To UBound(Talen)
            Range("A:A").Replace What:=Talen(i, 1), Replacement:=Talen(i, 0), LookAt:=xlPart, MatchCase:=False
        Next i
    
        With Application
            .EnableEvents = True
            .ScreenUpdating = True
            .Calculation = xlCalculationAutomatic
        End With
    End Sub
    Laatst aangepast door edmoor : 7 april 2021 om 17:02
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  10. #10
    Senior Member
    Geregistreerd
    16 december 2016
    Een lange regel in VBA kun je inkorten. Plaats, bijvoorbeeld na een komma, EERST een spatie, daarna Underscore-Enter.
    Dan komt hij op twee regels te staan, of meer als dat nodig is, dit kan onbeperkt...

  11. #11
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Waarom wil je het zo onoverzichtelijk hebben?
    Code:
        Nld = Array("zwart/groen", "blauw", "groen", "rood", "zwart", _
            "oranje", "geel", "paars", "grijs")
        Eng = Array("black/green", "blue", "green", "red", "black", _
            "orange", "yellow", "purple", "grey")
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  12. #12
    Giga Honourable Senior Member
    Verenigingslid
    snb's avatar
    Geregistreerd
    12 juni 2008
    Beargumenteer eens: wat is het nadeel van een 'lange' regel ?

    Code:
    Nld = split("zwart/groen blauw groen rood zwart oranje geel paars grijs")
    Eng = split("black/green blue green red black orange yellow purple grey")
    VBA voor smarties
    VBA is een taal die je moet leren met een grammatica- en een woordenboek.

    http://www.helpmij.nl/forum/announcement.php?f=5
    Plaats svp geen bestanden op andere sites; nadat het bestand daar verwijderd is wordt een forumdraad onbegrijpelijk voor anderen.

  13. #13
    Mega Senior damnsharp's avatar
    Geregistreerd
    6 januari 2012
    Locatie
    Oss
    Dank jullie wel voor alle reacties!
    @edmoor, mooi script en ook overzichtelijk. Heb het geprobeerd en het gaat goed totdat er in 1 cel meerdere teksten (in mijn geval categorieën) staan zoals "appels, bananen, appels/bananen" en ik wil "appels/bananen" vervangen door "peren" gaat het niet goed. Script maakt er wel wat van maar niet ideaal. Maar ga zelf even uitzoeken wat ik ermee kan doen.

    @mvdvlist, weer wat erbij geleerd, spatie en underscore

  14. #14
    Tera Honourable Senior Member edmoor's avatar
    Geregistreerd
    8 september 2000
    Locatie
    Zuid-Holland
    Het vervangen doet niet een gedeelte van de inhoud maar vervangt de hele inhoud.
    Wil je dat anders dan kan niet zomaar de Replace functie worden gebruikt.
    "It's hardware that makes a machine fast. It's software that makes a fast machine slow. "
    Op rechtstreekse vragen via email of privébericht reageer ik niet. Daar is het forum voor.
    Lees ook: http://www.helpmij.nl/forum/announcement.php?f=5

  15. #15
    Mega Senior damnsharp's avatar
    Geregistreerd
    6 januari 2012
    Locatie
    Oss
    Ik begrijp het @edmoor! Dank je wel voor de uitleg.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl

Regels
Help

Helpmij.nl en business

Partners
Sponsoren